diff options
author | 2012-10-31 11:19:35 +0000 | |
---|---|---|
committer | 2012-10-31 11:19:35 +0000 | |
commit | 6a0a6568a109ddac8f5ce8c53f8fd4976a0c4986 (patch) | |
tree | 14416593aac02051b0a047e2f66a77ec4e4f810e /lib/libssl/src/crypto/perlasm | |
parent | tweak previous; (diff) | |
download | wireguard-openbsd-6a0a6568a109ddac8f5ce8c53f8fd4976a0c4986.tar.xz wireguard-openbsd-6a0a6568a109ddac8f5ce8c53f8fd4976a0c4986.zip |
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/libssl/src/crypto/perlasm')
-rwxr-xr-x | lib/libssl/src/crypto/perlasm/x86_64-xlate.pl | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/lib/libssl/src/crypto/perlasm/x86_64-xlate.pl b/lib/libssl/src/crypto/perlasm/x86_64-xlate.pl index 50ff91e2f0f..56d9b64b6fb 100755 --- a/lib/libssl/src/crypto/perlasm/x86_64-xlate.pl +++ b/lib/libssl/src/crypto/perlasm/x86_64-xlate.pl @@ -215,8 +215,7 @@ my %globals; undef $ret; # optional * ---vvv--- appears in indirect jmp/call - if ($line =~ /^(\*?)([^\(,]*)\(([%\w,]+)\)/ && - !($line =~ /^PIC_(GOT|PLT)/)) { + if ($line =~ /^(\*?)([^\(,]*)\(([%\w,]+)\)/) { $self->{asterisk} = $1; $self->{label} = $2; ($self->{base},$self->{index},$self->{scale})=split(/,/,$3); @@ -773,8 +772,6 @@ my $rdrand = sub { } }; -print "#include <machine/asm.h>\n"; - if ($nasm) { print <<___; default rel |