summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2018-06-11 12:50:25 +0200
committerAndy Polyakov <appro@openssl.org>2018-06-13 10:48:27 +0200
commitd3273ef6c549d1bf74d18c9056218c1d8b98a2b9 (patch)
treedaab3147cef5d43eb717de998ab84a9ef8b6e933
parent10aafed3ec8719442d0d3516a6a12a45d2a70a2f (diff)
Configurations/10-main.conf: replace -bexpall with explicit list on AIX.
[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)
-rw-r--r--Configurations/10-main.conf4
-rw-r--r--build.info8
-rwxr-xr-xutil/mkdef.pl16
3 files changed, 22 insertions, 6 deletions
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
index 1d2ee64250..63862e7c20 100644
--- a/Configurations/10-main.conf
+++ b/Configurations/10-main.conf
@@ -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") ],
diff --git a/build.info b/build.info
index 13ca90d360..3dda4e89bf 100644
--- a/build.info
+++ b/build.info
@@ -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
diff --git a/util/mkdef.pl b/util/mkdef.pl
index b7cf9b2852..327728eeda 100755
--- a/util/mkdef.pl
+++ b/util/mkdef.pl
@@ -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";