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",