From 098404128383ded87ba390dd74ecd9e2ffa6f530 Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Sun, 5 May 2019 18:30:55 +0200 Subject: [PATCH] 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) --- Configure | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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)-/) {