Configurations/10-main.conf: replace -bexpall with explicit list on AIX.
authorAndy Polyakov <appro@openssl.org>
Mon, 11 Jun 2018 10:50:25 +0000 (12:50 +0200)
committerAndy Polyakov <appro@openssl.org>
Wed, 13 Jun 2018 08:48:27 +0000 (10:48 +0200)
[omit even -b:SRE, as it's implied by -G flag.]

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6453)

Configurations/10-main.conf
build.info
util/mkdef.pl

index 1d2ee64..63862e7 100644 (file)
@@ -1127,7 +1127,9 @@ my %targets = (
         shared_target    => "self",
         shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
         bin_lflags       => shared("-Wl,-bsvr4"),
-        shared_ldflag    => "-Wl,-G,-bsymbolic,-bexpall,-bnolibpath,-bM:SRE",
+        module_ldflags   => "-Wl,-G,-bsymbolic,-bexpall,-bnolibpath",
+        shared_ldflag    => "-Wl,-G,-bsymbolic,-bnolibpath",
+        shared_defflag   => "-Wl,-bE:",
     },
     "aix-gcc" => {
         inherit_from     => [ "aix-common", asm("ppc32_asm") ],
index 13ca90d..3dda4e8 100644 (file)
@@ -33,6 +33,14 @@ IF[{- defined $target{shared_defflag} -}]
 
     SHARED_SOURCE[libcrypto]=libcrypto.def
     SHARED_SOURCE[libssl]=libssl.def
+  ELSIF[{- $config{target} =~ /^aix/ -}]
+    GENERATE[libcrypto.map]=util/mkdef.pl crypto aix
+    DEPEND[libcrypto.map]=util/libcrypto.num
+    GENERATE[libssl.map]=util/mkdef.pl ssl aix
+    DEPEND[libssl.map]=util/libssl.num
+
+    SHARED_SOURCE[libcrypto]=libcrypto.map
+    SHARED_SOURCE[libssl]=libssl.map
   ELSE
     GENERATE[libcrypto.map]=util/mkdef.pl crypto linux
     DEPEND[libcrypto.map]=util/libcrypto.num
index b7cf9b2..327728e 100755 (executable)
@@ -126,6 +126,7 @@ my $W32=0;
 my $NT=0;
 my $UNIX=0;
 my $linux=0;
+my $aix=0;
 # Set this to make typesafe STACK definitions appear in DEF
 my $safe_stack_def = 0;
 
@@ -171,12 +172,15 @@ foreach (@ARGV, split(/ /, $config{options}))
        if($_ eq "NT") {
                $W32 = 1;
                $NT = 1;
-       }
-       if ($_ eq "linux") {
+       } elsif ($_ eq "linux") {
                $linux=1;
                $UNIX=1;
+       } elsif ($_ eq "aix") {
+               $aix=1;
+               $UNIX=1;
+       } elsif ($_ eq "VMS") {
+               $VMS=1;
        }
-       $VMS=1 if $_ eq "VMS";
        if ($_ eq "zlib" || $_ eq "enable-zlib" || $_ eq "zlib-dynamic"
                         || $_ eq "enable-zlib-dynamic") {
                $zlib = 1;
@@ -204,11 +208,11 @@ if (!$libname) {
 }
 
 # If no platform is given, assume WIN32
-if ($W32 + $VMS + $linux == 0) {
+if ($W32 + $VMS + $linux + $aix == 0) {
        $W32 = 1;
 }
 die "Please, only one platform at a time"
-    if ($W32 + $VMS + $linux > 1);
+    if ($W32 + $VMS + $linux + $aix > 1);
 
 if (!$do_ssl && !$do_crypto)
        {
@@ -1237,6 +1241,8 @@ EOF
                                                        $prevsymversion = $symversion;
                                                }
                                                print OUT "        $s2;\n";
+                                       } elsif ($aix) {
+                                               print OUT "$s2\n";
                                         } elsif ($VMS) {
                                             while(++$prevnum < $n) {
                                                 my $symline=" ,SPARE -\n  ,SPARE -\n";