From: Andy Polyakov Date: Sun, 5 May 2019 16:30:55 +0000 (+0200) Subject: Configure: use ELFv2 ABI on some ppc64 big endian systems X-Git-Tag: openssl-3.0.0-alpha1~836 X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=098404128383ded87ba390dd74ecd9e2ffa6f530 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 Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/8883) --- diff --git a/Configure b/Configure index 22082deb4c..e303d98deb 100755 --- a/Configure +++ b/Configure @@ -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)-/) {