diff options
Diffstat (limited to 'hints/aix.sh')
-rw-r--r-- | hints/aix.sh | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/hints/aix.sh b/hints/aix.sh index e4966042bc..baf8c00303 100644 --- a/hints/aix.sh +++ b/hints/aix.sh @@ -157,7 +157,11 @@ case "$cc" in # -bI:$(PERL_INC)/perl.exp Read the exported symbols from the perl binary # -bE:$(BASEEXT).exp Export these symbols. This file contains only one # symbol: boot_$(EXP) can it be auto-generated? -lddlflags="$lddlflags -bhalt:4 -bM:SRE -bI:\$(PERL_INC)/perl.exp -bE:\$(BASEEXT).exp -bnoentry -lc" +if test $usenativedlopen = 'true' ; then + lddlflags="$lddlflags -bhalt:4 -bexpall -G -bnoentry -lc" +else + lddlflags="$lddlflags -bhalt:4 -bM:SRE -bI:\$(PERL_INC)/perl.exp -bE:\$(BASEEXT).exp -bnoentry -lc" + fi case "$use64bitall" in $define|true|[yY]*) use64bitint="$define" ;; @@ -415,9 +419,19 @@ EOCBU if test $usenativedlopen = 'true' ; then ccflags="$ccflags -DUSE_NATIVE_DLOPEN" + # -brtl Enables a binary to use run time linking + # -bdynamic When used with -brtl, tells linker to search for + # ".so"-suffix libraries as well as ".a" suffix + # libraries. AIX allows both .so and .a libraries to + # contain dynamic shared objects. + # -bmaxdata:0x80000000 This increases the size of heap memory available + # to perl. Default is 256 MB, which sounds large but + # caused a software vendor problems. So this sets + # heap to 2 GB maximum. Anything higher and you'd + # want to consider 64 bit perl. case "$cc" in - *gcc*) ldflags="$ldflags -Wl,-brtl" ;; - *) ldflags="$ldflags -brtl" ;; + *gcc*) ldflags="$ldflags -Wl,-brtl -Wl,-bdynamic -Wl,-bmaxdata:0x80000000" ;; + *) ldflags="$ldflags -brtl -bdynamic -bmaxdata:0x80000000" ;; esac elif test -f /lib/libC.a -a X"`$cc -v 2>&1 | grep gcc`" = X; then # If the C++ libraries, libC and libC_r, are available we will |