From e05982c56ef9dbde368df8fe35a8458f34b76f76 Mon Sep 17 00:00:00 2001 From: kettenis <> Date: Wed, 31 Oct 2012 11:19:35 +0000 Subject: On amd64 OPENSSL_cpuid_setup and OPENSSL_ia32cap_P are now hidden so we don't have to go through the PLT/GOT to get at them anymore. In fact going through the GOT now fails since we no longer have a GOT entry for OPENSSL_ia32cap_P. Fixes the problem spotted by jasper@ and sthen@. Based on a diff from mikeb@ who did most of the actual work of tracking down the issue. ok millert@, mikeb@ --- src/lib/libcrypto/rc4/asm/rc4-x86_64.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/lib/libcrypto/rc4') diff --git a/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl b/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl index ac2c05074e..d6eac205e9 100755 --- a/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl +++ b/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl @@ -442,7 +442,7 @@ private_RC4_set_key: xor %r10,%r10 xor %r11,%r11 - mov PIC_GOT(OPENSSL_ia32cap_P),$idx#d + mov OPENSSL_ia32cap_P(%rip),$idx#d bt \$20,$idx#d # RC4_CHAR? jc .Lc1stloop jmp .Lw1stloop @@ -506,7 +506,7 @@ private_RC4_set_key: .align 16 RC4_options: lea .Lopts(%rip),%rax - mov PIC_GOT(OPENSSL_ia32cap_P),%edx + mov OPENSSL_ia32cap_P(%rip),%edx bt \$20,%edx jc .L8xchar bt \$30,%edx -- cgit v1.2.3-55-g6feb