Revert section changes for ASM. This change reverts the following commits: 72d9cba7cb78ddc9c8ec3f27a9367c407f7d0915 5b61b9ebc5ad0e25475f2aa633d3a6592dd65ba1 3f85e04f40c12282021241b393d94901e5c1027b 2ab24a2d40fd193a25d7c94072596a1180cbb460 Change-Id: I669b83f2269cf96aa71a649a346147b9407a811e Reviewed-on: https://boringssl-review.googlesource.com/6056 Reviewed-by: David Benjamin <davidben@chromium.org> Reviewed-by: Adam Langley <agl@google.com>
diff --git a/crypto/aes/asm/aes-armv4.pl b/crypto/aes/asm/aes-armv4.pl index 16ff990..882017a 100644 --- a/crypto/aes/asm/aes-armv4.pl +++ b/crypto/aes/asm/aes-armv4.pl
@@ -82,7 +82,6 @@ # endif #endif -.pushsection .text.asm_AES_encrypt,"ax",%progbits .type AES_Te,%object .align 5 AES_Te: @@ -188,7 +187,6 @@ .word 0x10000000, 0x20000000, 0x40000000, 0x80000000 .word 0x1B000000, 0x36000000, 0, 0, 0, 0, 0, 0 .size AES_Te,.-AES_Te -.popsection @ void asm_AES_encrypt(const unsigned char *in, unsigned char *out, @ const AES_KEY *key) { @@ -442,7 +440,7 @@ ldr pc,[sp],#4 @ pop and return .size _armv4_AES_encrypt,.-_armv4_AES_encrypt -.global_with_section asm_AES_set_encrypt_key, asm_AES_encrypt +.global asm_AES_set_encrypt_key .hidden asm_AES_set_encrypt_key .type asm_AES_set_encrypt_key,%function .align 5 @@ -868,7 +866,6 @@ #endif .size AES_set_enc2dec_key,.-AES_set_enc2dec_key -.pushsection .text.asm_AES_decrypt,"ax",%progbits .type AES_Td,%object .align 5 AES_Td: @@ -970,7 +967,6 @@ .byte 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26 .byte 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d .size AES_Td,.-AES_Td -.popsection @ void asm_AES_decrypt(const unsigned char *in, unsigned char *out, @ const AES_KEY *key) {
diff --git a/crypto/aes/asm/aesv8-armx.pl b/crypto/aes/asm/aesv8-armx.pl index 4aa699e..121154a 100644 --- a/crypto/aes/asm/aesv8-armx.pl +++ b/crypto/aes/asm/aesv8-armx.pl
@@ -71,13 +71,11 @@ $code.=<<___; -.pushsection .text.${prefix}_set_encrypt_key,"ax",%progbits .align 5 .Lrcon: .long 0x01,0x01,0x01,0x01 .long 0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d // rotate-n-splat .long 0x1b,0x1b,0x1b,0x1b -.popsection .globl ${prefix}_set_encrypt_key .type ${prefix}_set_encrypt_key,%function
diff --git a/crypto/aes/asm/bsaes-armv7.pl b/crypto/aes/asm/bsaes-armv7.pl index 5fa3005..2617fef 100644 --- a/crypto/aes/asm/bsaes-armv7.pl +++ b/crypto/aes/asm/bsaes-armv7.pl
@@ -2049,7 +2049,7 @@ .size bsaes_xts_encrypt,.-bsaes_xts_encrypt -.global_with_section bsaes_xts_decrypt, bsaes_xts_encrypt +.globl bsaes_xts_decrypt .hidden bsaes_xts_decrypt .type bsaes_xts_decrypt,%function .align 4
diff --git a/crypto/bn/asm/armv4-mont.pl b/crypto/bn/asm/armv4-mont.pl index d9487c7..4206fd8 100644 --- a/crypto/bn/asm/armv4-mont.pl +++ b/crypto/bn/asm/armv4-mont.pl
@@ -85,11 +85,9 @@ .code 32 #if __ARM_MAX_ARCH__>=7 -.pushsection .text.bn_mul_mont,"ax",%progbits .align 5 .LOPENSSL_armcap: .word OPENSSL_armcap_P-.Lbn_mul_mont -.popsection #endif .global bn_mul_mont
diff --git a/crypto/chacha/chacha_vec_arm.S b/crypto/chacha/chacha_vec_arm.S index e1ec46e..0f82627 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 -ffunction-sections -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 -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" - .section .text.CRYPTO_chacha_20_neon,"ax",%progbits + .text .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 1e185e5..6d167b9 100644 --- a/crypto/chacha/chacha_vec_arm_generate.go +++ b/crypto/chacha/chacha_vec_arm_generate.go
@@ -36,7 +36,6 @@ "-mcpu=cortex-a8", "-mfpu=neon", "-fpic", - "-ffunction-sections", "-DASM_GEN", "-I", "../../include", "-S", "chacha_vec.c",
diff --git a/crypto/perlasm/arm-xlate.pl b/crypto/perlasm/arm-xlate.pl index 32eeb25..706fa70 100755 --- a/crypto/perlasm/arm-xlate.pl +++ b/crypto/perlasm/arm-xlate.pl
@@ -18,14 +18,6 @@ if ($flavour =~ /linux/) { ".arch\t".join(',',@_); } else { ""; } }; -my $pushsection = sub { - if ($flavour !~ /ios/) { ".pushsection\t".join(',',@_); } - else { ""; } -}; -my $popsection = sub { - if ($flavour !~ /ios/) { ".popsection"; } - else { ""; } -}; my $fpu = sub { if ($flavour =~ /linux/) { ".fpu\t".join(',',@_); } else { ""; } @@ -52,8 +44,7 @@ $$global = $name; $ret; }; -my $in_section = 0; -my $raw_globl = sub { +my $globl = sub { my $name = shift; my $global = \$GLOBALS{$name}; my $ret; @@ -68,39 +59,7 @@ $$global = $name; $ret; }; -my $globl = sub { - my $name = shift; - - if ($flavour !~ /ios/) { - if ($in_section == 1) { - printf ".popsection\n"; - } - $in_section = 1; - - printf ".pushsection .text.$name,\"ax\",%%progbits\n"; - } - return $raw_globl->($name); - -}; my $global = $globl; -my $global_with_section = sub { - my $arg = shift; - - if ($arg =~ m/^([^,]*), *(.*)/) { - if ($flavour !~ /ios/) { - if ($in_section == 1) { - printf ".popsection\n"; - } - $in_section = 1; - - printf ".pushsection .text.$2,\"ax\",%%progbits\n"; - } - return $raw_globl->($1); - } else { - printf STDERR "Expected two arguments to global_with_section\n"; - exit(1); - } -}; my $extern = sub { &$globl(@_); return; # return nothing
diff --git a/crypto/poly1305/poly1305_arm_asm.S b/crypto/poly1305/poly1305_arm_asm.S index bbd9791..e16f83b 100644 --- a/crypto/poly1305/poly1305_arm_asm.S +++ b/crypto/poly1305/poly1305_arm_asm.S
@@ -153,7 +153,6 @@ # qhasm: qpushenter crypto_onetimeauth_poly1305_neon2_blocks .align 4 -.pushsection .text.openssl_poly1305_neon2_blocks,"ax",%progbits .global openssl_poly1305_neon2_blocks .hidden openssl_poly1305_neon2_blocks .type openssl_poly1305_neon2_blocks STT_FUNC @@ -1520,7 +1519,6 @@ mov sp,r12 vpop {q4,q5,q6,q7} bx lr -.popsection # qhasm: int32 input_0 @@ -1614,7 +1612,6 @@ # qhasm: enter crypto_onetimeauth_poly1305_neon2_addmulmod .align 2 -.pushsection .text.openssl_poly1305_neon2_addmulmod,"ax",%progbits .global openssl_poly1305_neon2_addmulmod .hidden openssl_poly1305_neon2_addmulmod .type openssl_poly1305_neon2_addmulmod STT_FUNC @@ -2014,6 +2011,5 @@ # qhasm: return add sp,sp,#0 bx lr -.popsection #endif /* __arm__ && !OPENSSL_NO_ASM */
diff --git a/crypto/sha/asm/sha256-armv4.pl b/crypto/sha/asm/sha256-armv4.pl index 490c74f..7e07147 100644 --- a/crypto/sha/asm/sha256-armv4.pl +++ b/crypto/sha/asm/sha256-armv4.pl
@@ -187,7 +187,6 @@ # endif #endif -.pushsection .text.sha256_block_data_order,"ax",%progbits .type K256,%object .align 5 K256: @@ -213,11 +212,10 @@ .LOPENSSL_armcap: .word OPENSSL_armcap_P-.Lsha256_block_data_order #endif -.popsection +.align 5 .global sha256_block_data_order .type sha256_block_data_order,%function -.align 5 sha256_block_data_order: .Lsha256_block_data_order: #if __ARM_ARCH__<7 @@ -473,7 +471,7 @@ .arch armv7-a .fpu neon -.global_with_section sha256_block_data_order_neon, sha256_block_data_order +.global sha256_block_data_order_neon .type sha256_block_data_order_neon,%function .align 4 sha256_block_data_order_neon:
diff --git a/crypto/sha/asm/sha512-armv4.pl b/crypto/sha/asm/sha512-armv4.pl index 4c1cbae..cd3662a 100644 --- a/crypto/sha/asm/sha512-armv4.pl +++ b/crypto/sha/asm/sha512-armv4.pl
@@ -224,7 +224,6 @@ # endif #endif -.pushsection .text.sha512_block_data_order,"ax",%progbits .type K512,%object .align 5 K512: @@ -276,7 +275,6 @@ #else .skip 32 #endif -.popsection .global sha512_block_data_order .type sha512_block_data_order,%function @@ -604,7 +602,7 @@ .arch armv7-a .fpu neon -.global_with_section sha512_block_data_order_neon, sha512_block_data_order +.global sha512_block_data_order_neon .type sha512_block_data_order_neon,%function .align 4 sha512_block_data_order_neon: