Update ChaCha20 ARM asm with sections.
The ChaCha20 ARM asm is generated from GCC. This change updates the GCC
command line to include -ffunction-sections, which causes GCC to put
each function in its own section so that the linker with --gc-sections
can trim unused functions.
Since the file only has a single function, this is a bit useless, but
it'll now be consistent with the other ARM asm.
Change-Id: If12c675700310ea55af817b5433844eeffc9d029
Reviewed-on: https://boringssl-review.googlesource.com/6006
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/crypto/chacha/chacha_vec_arm.S b/crypto/chacha/chacha_vec_arm.S
index 0f82627..e1ec46e 100644
--- a/crypto/chacha/chacha_vec_arm.S
+++ b/crypto/chacha/chacha_vec_arm.S
@@ -20,7 +20,7 @@
# This file was generated by chacha_vec_arm_generate.go using the following
# compiler command:
#
-# /opt/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -O3 -mcpu=cortex-a8 -mfpu=neon -fpic -DASM_GEN -I ../../include -S chacha_vec.c -o -
+# /opt/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -O3 -mcpu=cortex-a8 -mfpu=neon -fpic -ffunction-sections -DASM_GEN -I ../../include -S chacha_vec.c -o -
#if !defined(OPENSSL_NO_ASM)
#if defined(__arm__) || defined(__aarch64__)
@@ -52,7 +52,7 @@
.eabi_attribute 18, 4
.thumb
.file "chacha_vec.c"
- .text
+ .section .text.CRYPTO_chacha_20_neon,"ax",%progbits
.align 2
.global CRYPTO_chacha_20_neon
.hidden CRYPTO_chacha_20_neon
diff --git a/crypto/chacha/chacha_vec_arm_generate.go b/crypto/chacha/chacha_vec_arm_generate.go
index 6d167b9..1e185e5 100644
--- a/crypto/chacha/chacha_vec_arm_generate.go
+++ b/crypto/chacha/chacha_vec_arm_generate.go
@@ -36,6 +36,7 @@
"-mcpu=cortex-a8",
"-mfpu=neon",
"-fpic",
+ "-ffunction-sections",
"-DASM_GEN",
"-I", "../../include",
"-S", "chacha_vec.c",