summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2016-05-16 22:42:09 +0000
committerjkim <jkim@FreeBSD.org>2016-05-16 22:42:09 +0000
commit8cc4bb22bd5b562b7e64f69904c876eb0146d170 (patch)
tree3b68f78d1e73cc9982e81a1ae711108b77a8e7d2
parente596e98386f542788b3d6e28d3bac3e386860b4d (diff)
downloadFreeBSD-src-8cc4bb22bd5b562b7e64f69904c876eb0146d170.zip
FreeBSD-src-8cc4bb22bd5b562b7e64f69904c876eb0146d170.tar.gz
Hide OPENSSL_cpuid_setup and OPENSSL_ia32cap_P symbols from libcrypto.so.
Note this is a direct commit because it is merged from OpenSSL upstream and head (OpenSSL 1.0.2 branch) already has the same change: https://github.com/openssl/openssl/commit/6206682
-rw-r--r--crypto/openssl/crypto/perlasm/x86asm.pl2
-rwxr-xr-xcrypto/openssl/crypto/perlasm/x86gas.pl2
-rw-r--r--crypto/openssl/crypto/x86cpuid.pl3
-rw-r--r--secure/lib/libcrypto/i386/x86cpuid.S4
4 files changed, 11 insertions, 0 deletions
diff --git a/crypto/openssl/crypto/perlasm/x86asm.pl b/crypto/openssl/crypto/perlasm/x86asm.pl
index eb543db..3f190ae 100644
--- a/crypto/openssl/crypto/perlasm/x86asm.pl
+++ b/crypto/openssl/crypto/perlasm/x86asm.pl
@@ -257,4 +257,6 @@ EOF
&file($filename);
}
+sub ::hidden {}
+
1;
diff --git a/crypto/openssl/crypto/perlasm/x86gas.pl b/crypto/openssl/crypto/perlasm/x86gas.pl
index 682a3a3..735c1ad 100755
--- a/crypto/openssl/crypto/perlasm/x86gas.pl
+++ b/crypto/openssl/crypto/perlasm/x86gas.pl
@@ -250,4 +250,6 @@ ___
sub ::dataseg
{ push(@out,".data\n"); }
+*::hidden = sub { push(@out,".hidden\t$nmdecor$_[0]\n"); } if ($::elf);
+
1;
diff --git a/crypto/openssl/crypto/x86cpuid.pl b/crypto/openssl/crypto/x86cpuid.pl
index b270b44..0212a5b 100644
--- a/crypto/openssl/crypto/x86cpuid.pl
+++ b/crypto/openssl/crypto/x86cpuid.pl
@@ -355,4 +355,7 @@ for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
&initseg("OPENSSL_cpuid_setup");
+&hidden("OPENSSL_cpuid_setup");
+&hidden("OPENSSL_ia32cap_P");
+
&asm_finish();
diff --git a/secure/lib/libcrypto/i386/x86cpuid.S b/secure/lib/libcrypto/i386/x86cpuid.S
index 8545196..049b344 100644
--- a/secure/lib/libcrypto/i386/x86cpuid.S
+++ b/secure/lib/libcrypto/i386/x86cpuid.S
@@ -344,6 +344,8 @@ OPENSSL_ia32_rdrand:
cmovel %ecx,%eax
ret
.size OPENSSL_ia32_rdrand,.-.L_OPENSSL_ia32_rdrand_begin
+.hidden OPENSSL_cpuid_setup
+.hidden OPENSSL_ia32cap_P
.comm OPENSSL_ia32cap_P,8,4
.section .init
call OPENSSL_cpuid_setup
@@ -679,6 +681,8 @@ OPENSSL_ia32_rdrand:
cmovel %ecx,%eax
ret
.size OPENSSL_ia32_rdrand,.-.L_OPENSSL_ia32_rdrand_begin
+.hidden OPENSSL_cpuid_setup
+.hidden OPENSSL_ia32cap_P
.comm OPENSSL_ia32cap_P,8,4
.section .init
call OPENSSL_cpuid_setup
OpenPOWER on IntegriCloud