aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/perl/files/perl-5.12.3-aix-soname.patch')
-rw-r--r--dev-lang/perl/files/perl-5.12.3-aix-soname.patch70
1 files changed, 70 insertions, 0 deletions
diff --git a/dev-lang/perl/files/perl-5.12.3-aix-soname.patch b/dev-lang/perl/files/perl-5.12.3-aix-soname.patch
new file mode 100644
index 0000000..70fe5fa
--- /dev/null
+++ b/dev-lang/perl/files/perl-5.12.3-aix-soname.patch
@@ -0,0 +1,70 @@
+1) Match "powerpc-ibm-aix5.3.0.0-gcc" as gcc too.
+
+2) Creating shared library on aix with full soname support, following
+http://lists.gnu.org/archive/html/libtool/2011-01/msg00023.html
+http://lists.gnu.org/archive/html/libtool/2011-02/msg00000.html
+
+Once there is an agreement on that, this patch basically is designed
+for upstream perl to be applied when their soname would change anyway.
+However, there is 'strip' being used, and I don't know yet what to
+use instead in cross-aix setups with recent binutils.
+
+--- Makefile.SH
++++ Makefile.SH
+@@ -92,12 +92,12 @@
+ ;;
+ aix*)
+ case "$cc" in
+- gcc*)
+- shrpldflags="-shared -Wl,-H512 -Wl,-T512 -Wl,-bhalt:4 -Wl,-bM:SRE -Wl,-bE:perl.exp"
++ *gcc*)
++ shrpldflags="-shared -Wl,-H512 -Wl,-T512 -Wl,-bhalt:4 -Wl,-bE:perl.exp"
+ case "$osvers" in
+- 3*) shrpldflags="$shrpldflags -e _nostart"
++ 3*) shrpldflags="$shrpldflags -Wl,-bM:SRE -e _nostart"
+ ;;
+- *) shrpldflags="$shrpldflags -Wl,-bnoentry"
++ *) shrpldflags="$shrpldflags -Wl,-G -Wl,-bernotok -Wl,-bnoentry"
+ ;;
+ esac
+ shrpldflags="$shrpldflags $ldflags $perllibs $cryptlib"
+@@ -105,11 +105,11 @@
+ linklibperl_nonshr='-lperl_nonshr'
+ ;;
+ *)
+- shrpldflags="-H512 -T512 -bhalt:4 -bM:SRE -bE:perl.exp"
++ shrpldflags="-H512 -T512 -bhalt:4 -bE:perl.exp"
+ case "$osvers" in
+- 3*) shrpldflags="$shrpldflags -e _nostart"
++ 3*) shrpldflags="$shrpldflags -bM:SRE -e _nostart"
+ ;;
+- *) shrpldflags="$shrpldflags -b noentry"
++ *) shrpldflags="$shrpldflags -G -bernotok -b noentry"
+ ;;
+ esac
+ shrpldflags="$shrpldflags $ldflags $perllibs $cryptlib"
+@@ -763,11 +763,19 @@
+ !NO!SUBS!
+ case "$osname" in
+ aix)
+- $spitshell >>$Makefile <<'!NO!SUBS!'
+- rm -f libperl$(OBJ_EXT)
+- mv $@ libperl$(OBJ_EXT)
+- $(AR) qv $(LIBPERL) libperl$(OBJ_EXT)
+-!NO!SUBS!
++ bits=32
++ if test X"$use64bitall" = Xdefine; then bits=64; fi
++ $spitshell >>$Makefile <<!GROK!THIS!
++ rm -f shr.imp shr.o
++ mv \$@ shr.o
++ strip -e shr.o
++ ( echo '#! libperl.so.${revision}.${patchlevel}(shr.o)' \\
++ ; echo '# ${bits}' \\
++ ; grep -v '^#!' perl.exp \\
++ ) > shr.imp
++ \$(AR) qv \$@ shr.imp shr.o
++ rm -f shr.imp shr.o
++!GROK!THIS!
+ ;;
+ esac
+ ;;