diff options
author | Andy Polyakov <appro@openssl.org> | 2019-02-15 09:44:39 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-02-16 16:59:23 +0100 |
commit | 3405db97e5448c784729b56837f3f8c776a01067 (patch) | |
tree | 3038d1d73fb0964915fdfd6377bb717722c02ea7 /crypto/aes/asm/bsaes-armv7.pl | |
parent | b2b580fe445e064da50c13d3e00f71022da16ece (diff) |
ARM assembly pack: make it Windows-friendly.
"Windows friendliness" means a) flipping .thumb and .text directives,
b) always generate Thumb-2 code when asked(*); c) Windows-specific
references to external OPENSSL_armcap_P.
(*) so far *some* modules were compiled as .code 32 even if Thumb-2
was targeted. It works at hardware level because processor can alternate
between the modes with no overhead. But clang --target=arm-windows's
builtin assembler just refuses to compile .code 32...
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8252)
Diffstat (limited to 'crypto/aes/asm/bsaes-armv7.pl')
-rw-r--r-- | crypto/aes/asm/bsaes-armv7.pl | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/crypto/aes/asm/bsaes-armv7.pl b/crypto/aes/asm/bsaes-armv7.pl index 5df195b9ef..7f5219bc75 100644 --- a/crypto/aes/asm/bsaes-armv7.pl +++ b/crypto/aes/asm/bsaes-armv7.pl @@ -728,7 +728,6 @@ $code.=<<___; .arch armv7-a .fpu neon -.text .syntax unified @ ARMv7-capable assembler is expected to handle this #if defined(__thumb2__) && !defined(__APPLE__) .thumb @@ -737,6 +736,8 @@ $code.=<<___; # undef __thumb2__ #endif +.text + .type _bsaes_decrypt8,%function .align 4 _bsaes_decrypt8: @@ -1125,9 +1126,9 @@ bsaes_cbc_encrypt: #ifndef __thumb__ blo AES_cbc_encrypt #else - bhs 1f + bhs .Lcbc_do_bsaes b AES_cbc_encrypt -1: +.Lcbc_do_bsaes: #endif #endif |