diff options
author | kettenis <> | 2012-10-31 11:19:35 +0000 |
---|---|---|
committer | kettenis <> | 2012-10-31 11:19:35 +0000 |
commit | e05982c56ef9dbde368df8fe35a8458f34b76f76 (patch) | |
tree | df8275e2ac9f9c9853242382bc11bb6d08487c90 /src/lib/libcrypto/perlasm | |
parent | 21f5cd5730973fef800d5035b20030617736629a (diff) | |
download | openbsd-e05982c56ef9dbde368df8fe35a8458f34b76f76.tar.gz openbsd-e05982c56ef9dbde368df8fe35a8458f34b76f76.tar.bz2 openbsd-e05982c56ef9dbde368df8fe35a8458f34b76f76.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 'src/lib/libcrypto/perlasm')
-rwxr-xr-x | src/lib/libcrypto/perlasm/x86_64-xlate.pl | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/lib/libcrypto/perlasm/x86_64-xlate.pl b/src/lib/libcrypto/perlasm/x86_64-xlate.pl index 50ff91e2f0..56d9b64b6f 100755 --- a/src/lib/libcrypto/perlasm/x86_64-xlate.pl +++ b/src/lib/libcrypto/perlasm/x86_64-xlate.pl | |||
@@ -215,8 +215,7 @@ my %globals; | |||
215 | undef $ret; | 215 | undef $ret; |
216 | 216 | ||
217 | # optional * ---vvv--- appears in indirect jmp/call | 217 | # optional * ---vvv--- appears in indirect jmp/call |
218 | if ($line =~ /^(\*?)([^\(,]*)\(([%\w,]+)\)/ && | 218 | if ($line =~ /^(\*?)([^\(,]*)\(([%\w,]+)\)/) { |
219 | !($line =~ /^PIC_(GOT|PLT)/)) { | ||
220 | $self->{asterisk} = $1; | 219 | $self->{asterisk} = $1; |
221 | $self->{label} = $2; | 220 | $self->{label} = $2; |
222 | ($self->{base},$self->{index},$self->{scale})=split(/,/,$3); | 221 | ($self->{base},$self->{index},$self->{scale})=split(/,/,$3); |
@@ -773,8 +772,6 @@ my $rdrand = sub { | |||
773 | } | 772 | } |
774 | }; | 773 | }; |
775 | 774 | ||
776 | print "#include <machine/asm.h>\n"; | ||
777 | |||
778 | if ($nasm) { | 775 | if ($nasm) { |
779 | print <<___; | 776 | print <<___; |
780 | default rel | 777 | default rel |