diff options
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.patch | 70 |
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 + ;; |