summaryrefslogtreecommitdiffstats
path: root/lib/libssl/src/crypto/perlasm
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2012-10-31 11:19:35 +0000
committerkettenis <kettenis@openbsd.org>2012-10-31 11:19:35 +0000
commit6a0a6568a109ddac8f5ce8c53f8fd4976a0c4986 (patch)
tree14416593aac02051b0a047e2f66a77ec4e4f810e /lib/libssl/src/crypto/perlasm
parenttweak previous; (diff)
downloadwireguard-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-xlib/libssl/src/crypto/perlasm/x86_64-xlate.pl5
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