ARMv4 assembly pack: harmonize Thumb-ification of iOS build.
authorAndy Polyakov <appro@openssl.org>
Mon, 13 Feb 2017 17:16:16 +0000 (18:16 +0100)
committerAndy Polyakov <appro@openssl.org>
Wed, 15 Feb 2017 22:17:12 +0000 (23:17 +0100)
Three modules were left behind in a285992763f3961f69a8d86bf7dfff020a08cef9.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2617)

(cherry picked from commit c93f06c12f10c07cea935abd78a07a037e27f155)

crypto/aes/asm/aesv8-armx.pl
crypto/armv4cpuid.pl
crypto/modes/asm/ghashv8-armx.pl

index 9246dbb43722fbf09079eb1af87c47707dfbe2ae..1782d5b4143658087eb8b96f4b62f744c96cb35a 100755 (executable)
@@ -59,9 +59,12 @@ $code=<<___;
 .text
 ___
 $code.=".arch  armv8-a+crypto\n"                       if ($flavour =~ /64/);
-$code.=".arch  armv7-a\n.fpu   neon\n.code     32\n"   if ($flavour !~ /64/);
-               #^^^^^^ this is done to simplify adoption by not depending
-               #       on latest binutils.
+$code.=<<___                                           if ($flavour !~ /64/);
+.arch  armv7-a // don't confuse not-so-latest binutils with argv8 :-)
+.fpu   neon
+.code  32
+#undef __thumb2__
+___
 
 # Assembler mnemonics are an eclectic mix of 32- and 64-bit syntax,
 # NEON is mostly 32-bit mnemonics, integer - mostly 64. Goal is to
index 33c893d0e460f7e901240f68456712fbb968ecbd..f7d31a698ae7f06197dd0dba462d39523e3604ef 100644 (file)
@@ -27,6 +27,7 @@ $code.=<<___;
 .thumb
 #else
 .code  32
+#undef __thumb2__
 #endif
 
 .align 5
index cb4537b2217c7e9f5909ddefe46cd1a981d60909..dcd5f595d21af4adf94830b22b3925563972fbef 100644 (file)
@@ -67,7 +67,11 @@ $code=<<___;
 .text
 ___
 $code.=".arch  armv8-a+crypto\n"       if ($flavour =~ /64/);
-$code.=".fpu   neon\n.code     32\n"   if ($flavour !~ /64/);
+$code.=<<___                           if ($flavour !~ /64/);
+.fpu   neon
+.code  32
+#undef __thumb2__
+___
 
 ################################################################################
 # void gcm_init_v8(u128 Htable[16],const u64 H[2]);