Ensure there's only one copy of OPENSSL_armcap_P in libcrypto.a
authorTom Cosgrove <tom.cosgrove@arm.com>
Mon, 27 Mar 2023 21:05:13 +0000 (22:05 +0100)
committerTomas Mraz <tomas@openssl.org>
Wed, 29 Mar 2023 10:21:31 +0000 (12:21 +0200)
Change-Id: Ia94e528a2d55934435de6a2949784c52eb38d82f

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20621)

crypto/armcap.c
crypto/armv4cpuid.pl
crypto/bn/asm/armv4-gf2m.pl
crypto/bn/asm/armv4-mont.pl
crypto/chacha/asm/chacha-armv4.pl
crypto/poly1305/asm/poly1305-armv4.pl
crypto/sha/asm/sha1-armv4-large.pl
crypto/sha/asm/sha256-armv4.pl
crypto/sha/asm/sha512-armv4.pl

index f61579ac049ee8c5293de4be1c80e6c7a7e7cd8a..03bc659bdbd26ca3952675298111afa89feadf3f 100644 (file)
@@ -25,9 +25,7 @@
 #endif
 #include "arm_arch.h"
 
-#ifdef __aarch64__
 unsigned int OPENSSL_armcap_P = 0;
-#endif
 unsigned int OPENSSL_arm_midr = 0;
 unsigned int OPENSSL_armv8_rsa_neonized = 0;
 
index 8991fd4afe8e69c067c9ce049f6171fd83189dde..78dc90c5202fcf71f77b50e17ed34334c2fbd478 100644 (file)
@@ -292,8 +292,7 @@ atomic_add_spinlock:
 .word  0
 #endif
 
-.comm  OPENSSL_armcap_P,4,4
-.hidden        OPENSSL_armcap_P
+.extern        OPENSSL_armcap_P
 ___
 
 print $code;
index d380c89f1f2b68508226b85631e0668f44642e2e..b0b87ef611c135f80a261ce08d8247f87c45add4 100644 (file)
@@ -325,7 +325,7 @@ $code.=<<___;
 .align 5
 
 #if __ARM_MAX_ARCH__>=7
-.comm  OPENSSL_armcap_P,4,4
+.extern        OPENSSL_armcap_P
 #endif
 ___
 
index c26df751a5eb2c9b07a10594d452fa564077b3f7..ab69c2186bc966ec50b4ff51a8685e4cde063683 100644 (file)
@@ -749,7 +749,7 @@ $code.=<<___;
 .asciz "Montgomery multiplication for ARMv4/NEON, CRYPTOGAMS by <appro\@openssl.org>"
 .align 2
 #if __ARM_MAX_ARCH__>=7
-.comm  OPENSSL_armcap_P,4,4
+.extern        OPENSSL_armcap_P
 #endif
 ___
 
index 0aa13519eb836990c45e49b458f957f9e41e0800..3fdecf2d2832cfc103223f9bfe916cba41a2bf79 100755 (executable)
@@ -1154,7 +1154,7 @@ $code.=<<___;
        add             sp,sp,#4*(16+3)
        ldmia           sp!,{r4-r11,pc}
 .size  ChaCha20_neon,.-ChaCha20_neon
-.comm  OPENSSL_armcap_P,4,4
+.extern        OPENSSL_armcap_P
 #endif
 ___
 }}}
index 041bfd46e6990a353983b76e131e2f9ad204d110..7cc681838d1ab1bfff9886e1f998f636456c3d34 100755 (executable)
@@ -1239,7 +1239,7 @@ $code.=<<___;
 .asciz "Poly1305 for ARMv4/NEON, CRYPTOGAMS by <appro\@openssl.org>"
 .align 2
 #if    __ARM_MAX_ARCH__>=7
-.comm   OPENSSL_armcap_P,4,4
+.extern   OPENSSL_armcap_P
 #endif
 ___
 
index 6a2e12bf17d7b025dff25511ee7125d01eeed67f..ec7195a070872a54ec295b815cd72f35f92c7fde 100644 (file)
@@ -707,7 +707,7 @@ ___
 }}}
 $code.=<<___;
 #if __ARM_MAX_ARCH__>=7
-.comm  OPENSSL_armcap_P,4,4
+.extern        OPENSSL_armcap_P
 #endif
 ___
 
index e8af05c2981fbb3ea0eec425f509d97078e23ee1..0ac72bda63c7d1b6c1c0f33b6316a21f21b8523f 100644 (file)
@@ -693,7 +693,7 @@ $code.=<<___;
 .asciz  "SHA256 block transform for ARMv4/NEON/ARMv8, CRYPTOGAMS by <appro\@openssl.org>"
 .align 2
 #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__)
-.comm   OPENSSL_armcap_P,4,4
+.extern   OPENSSL_armcap_P
 #endif
 ___
 
index 1751c671e6d8e8aee9994e5448e8fe6fbd558c39..5579cda6e9b7f8fa3de299f2321e623c160e9503 100644 (file)
@@ -660,7 +660,7 @@ $code.=<<___;
 .asciz "SHA512 block transform for ARMv4/NEON, CRYPTOGAMS by <appro\@openssl.org>"
 .align 2
 #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__)
-.comm  OPENSSL_armcap_P,4,4
+.extern        OPENSSL_armcap_P
 #endif
 ___