diff options
author | Andy Polyakov <appro@openssl.org> | 2014-02-27 14:22:13 +0100 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2014-02-27 14:22:13 +0100 |
commit | ce876d8316409542283b356d331f90e1a1dfb853 (patch) | |
tree | b7ab4e0e5ff2207792f59b338eb516bb3a75def1 /crypto/perlasm/x86gas.pl | |
parent | f861b1d4335d4017953938160c7e4e0df9af5a7b (diff) |
perlasm/x86gas.pl: limit special OPENSSL_ia32cap_P treatment to ELF.
Diffstat (limited to 'crypto/perlasm/x86gas.pl')
-rw-r--r-- | crypto/perlasm/x86gas.pl | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/crypto/perlasm/x86gas.pl b/crypto/perlasm/x86gas.pl index 5c2498118f..63b2301fd1 100644 --- a/crypto/perlasm/x86gas.pl +++ b/crypto/perlasm/x86gas.pl @@ -183,9 +183,7 @@ sub ::align sub ::picmeup { my($dst,$sym,$base,$reflabel)=@_; - if (defined($base) && $sym eq "OPENSSL_ia32cap_P" && !$::macosx) - { &::lea($dst,&::DWP("$sym-$reflabel",$base)); } - elsif (($::pic && ($::elf || $::aout)) || $::macosx) + if (($::pic && ($::elf || $::aout)) || $::macosx) { if (!defined($base)) { &::call(&::label("PIC_me_up")); &::set_label("PIC_me_up"); @@ -198,6 +196,8 @@ sub ::picmeup &::mov($dst,&::DWP("$indirect-$reflabel",$base)); $non_lazy_ptr{"$nmdecor$sym"}=$indirect; } + elsif ($sym eq "OPENSSL_ia32cap_P" && $::elf>0) + { &::lea($dst,&::DWP("$sym-$reflabel",$base)); } else { &::lea($dst,&::DWP("_GLOBAL_OFFSET_TABLE_+[.-$reflabel]", $base)); |