diff options
author | Andy Polyakov <appro@openssl.org> | 2019-05-05 18:30:55 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-12-11 18:31:33 +0100 |
commit | 098404128383ded87ba390dd74ecd9e2ffa6f530 (patch) | |
tree | c619dd708dce2777ce88f3e739bd03774be818ff /Configure | |
parent | crypto/perlasm/ppc-xlate.pl: add linux64v2 flavour (diff) | |
download | openssl-098404128383ded87ba390dd74ecd9e2ffa6f530.tar.xz openssl-098404128383ded87ba390dd74ecd9e2ffa6f530.zip |
Configure: use ELFv2 ABI on some ppc64 big endian systems
If _CALL_ELF is defined to be 2, it's an ELFv2 system.
Conditionally switch to the v2 perlasm scheme.
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8883)
Diffstat (limited to 'Configure')
-rwxr-xr-x | Configure | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -1394,14 +1394,18 @@ if ($target{sys_id} ne "") push @{$config{openssl_sys_defines}}, "OPENSSL_SYS_$target{sys_id}"; } -unless ($disabled{asm}) { -} - my %predefined_C = compiler_predefined($config{CROSS_COMPILE}.$config{CC}); my %predefined_CXX = $config{CXX} ? compiler_predefined($config{CROSS_COMPILE}.$config{CXX}) : (); +unless ($disabled{asm}) { + # big endian systems can use ELFv2 ABI + if ($target eq "linux-ppc64") { + $target{perlasm_scheme} = "linux64v2" if ($predefined_C{_CALL_ELF} == 2); + } +} + # Check for makedepend capabilities. if (!$disabled{makedepend}) { if ($config{target} =~ /^(VC|vms)-/) { |