summaryrefslogtreecommitdiff
path: root/lib/libcrypto/rc4
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2012-10-31 11:19:36 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2012-10-31 11:19:36 +0000
commitaa5ff5446969d74fd0d83456706dd943ac03e69c (patch)
tree6223f292d4d80affec9b50118f5bc5b910965f53 /lib/libcrypto/rc4
parent1cfa1b8f05d4f8a8ae580f3fbf9633bd7eb2655c (diff)
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@
Diffstat (limited to 'lib/libcrypto/rc4')
-rwxr-xr-xlib/libcrypto/rc4/asm/rc4-x86_64.pl4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libcrypto/rc4/asm/rc4-x86_64.pl b/lib/libcrypto/rc4/asm/rc4-x86_64.pl
index ac2c05074e6..d6eac205e98 100755
--- a/lib/libcrypto/rc4/asm/rc4-x86_64.pl
+++ b/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