From 13066f1c7a8aaacf80e8fe62f31526fa7cae8072 Mon Sep 17 00:00:00 2001 From: Adam Langley Date: Fri, 13 Feb 2015 14:47:35 -0800 Subject: Mark OPENSSL_armcap_P as hidden in asm files. Without this, the linker says: (sha512-armv4.o): requires unsupported dynamic reloc R_ARM_REL32; recompile with -fPIC This is (I believe) a very misleading error message. The R_ARM_REL32 relocation type is the correct type for position independent code. But unless the target symbol is hidden then the linker doesn't know that it's not going to be overridden by a different ELF module. Change-Id: I9bb5f6b5f85c8de1ad5b6426cf27826976ce8248 --- linux-arm/crypto/sha/sha1-armv4-large.S | 1 + linux-arm/crypto/sha/sha256-armv4.S | 1 + linux-arm/crypto/sha/sha512-armv4.S | 1 + src/crypto/sha/asm/sha1-armv4-large.pl | 1 + src/crypto/sha/asm/sha256-armv4.pl | 1 + src/crypto/sha/asm/sha512-armv4.pl | 1 + 6 files changed, 6 insertions(+) diff --git a/linux-arm/crypto/sha/sha1-armv4-large.S b/linux-arm/crypto/sha/sha1-armv4-large.S index b089335..5abc328 100644 --- a/linux-arm/crypto/sha/sha1-armv4-large.S +++ b/linux-arm/crypto/sha/sha1-armv4-large.S @@ -1452,4 +1452,5 @@ sha1_block_data_order_armv8: #endif #if __ARM_MAX_ARCH__>=7 .comm OPENSSL_armcap_P,4,4 +.hidden OPENSSL_armcap_P #endif diff --git a/linux-arm/crypto/sha/sha256-armv4.S b/linux-arm/crypto/sha/sha256-armv4.S index bf1ce4f..3c41010 100644 --- a/linux-arm/crypto/sha/sha256-armv4.S +++ b/linux-arm/crypto/sha/sha256-armv4.S @@ -2692,4 +2692,5 @@ sha256_block_data_order_armv8: .align 2 #if __ARM_MAX_ARCH__>=7 .comm OPENSSL_armcap_P,4,4 +.hidden OPENSSL_armcap_P #endif diff --git a/linux-arm/crypto/sha/sha512-armv4.S b/linux-arm/crypto/sha/sha512-armv4.S index 1889fc7..37cfca3 100644 --- a/linux-arm/crypto/sha/sha512-armv4.S +++ b/linux-arm/crypto/sha/sha512-armv4.S @@ -1772,4 +1772,5 @@ sha512_block_data_order: .align 2 #if __ARM_MAX_ARCH__>=7 .comm OPENSSL_armcap_P,4,4 +.hidden OPENSSL_armcap_P #endif diff --git a/src/crypto/sha/asm/sha1-armv4-large.pl b/src/crypto/sha/asm/sha1-armv4-large.pl index b2c3032..1ffa041 100644 --- a/src/crypto/sha/asm/sha1-armv4-large.pl +++ b/src/crypto/sha/asm/sha1-armv4-large.pl @@ -642,6 +642,7 @@ ___ $code.=<<___; #if __ARM_MAX_ARCH__>=7 .comm OPENSSL_armcap_P,4,4 +.hidden OPENSSL_armcap_P #endif ___ diff --git a/src/crypto/sha/asm/sha256-armv4.pl b/src/crypto/sha/asm/sha256-armv4.pl index f14c9c3..398376e 100644 --- a/src/crypto/sha/asm/sha256-armv4.pl +++ b/src/crypto/sha/asm/sha256-armv4.pl @@ -621,6 +621,7 @@ $code.=<<___; .align 2 #if __ARM_MAX_ARCH__>=7 .comm OPENSSL_armcap_P,4,4 +.hidden OPENSSL_armcap_P #endif ___ diff --git a/src/crypto/sha/asm/sha512-armv4.pl b/src/crypto/sha/asm/sha512-armv4.pl index fb7dc50..bfe28c4 100644 --- a/src/crypto/sha/asm/sha512-armv4.pl +++ b/src/crypto/sha/asm/sha512-armv4.pl @@ -599,6 +599,7 @@ $code.=<<___; .align 2 #if __ARM_MAX_ARCH__>=7 .comm OPENSSL_armcap_P,4,4 +.hidden OPENSSL_armcap_P #endif ___ -- cgit v1.1