summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'patches/aixrtl')
-rw-r--r--patches/aixrtl/1.5.0-cmds-c11
-rw-r--r--patches/aixrtl/1.5.0-cmds-cxx11
-rw-r--r--patches/aixrtl/1.5.0-expsym-c16
-rw-r--r--patches/aixrtl/1.5.0-expsym-cxx16
-rw-r--r--patches/aixrtl/1.5.0-noundef-c11
-rw-r--r--patches/aixrtl/1.5.0-noundef-cxx11
-rw-r--r--patches/aixrtl/1.5.0-soname13
-rw-r--r--patches/aixrtl/1.5.0-usertl-c10
-rw-r--r--patches/aixrtl/1.5.0-usertl-cxx10
-rw-r--r--patches/aixrtl/1.5.22-cmds-c11
-rw-r--r--patches/aixrtl/1.5.22-cmds-cxx11
-rw-r--r--patches/aixrtl/2.0.0-fpic-c12
-rw-r--r--patches/aixrtl/2.0.0-fpic-cxx12
-rw-r--r--patches/aixrtl/2.2.0-cmds-c11
-rw-r--r--patches/aixrtl/2.2.0-cmds-cxx11
-rw-r--r--patches/aixrtl/2.2.0-expsym-c16
-rw-r--r--patches/aixrtl/2.2.0-expsym-cxx16
-rw-r--r--patches/aixrtl/2.2.0-noundef-c11
-rw-r--r--patches/aixrtl/2.2.0-noundef-cxx11
-rw-r--r--patches/aixrtl/2.2.0-usertl-cxx10
-rw-r--r--patches/aixrtl/2.2.8-cmds-c11
-rw-r--r--patches/aixrtl/2.2.8-cmds-cxx11
-rw-r--r--patches/aixrtl/2.4.0-expsym-c16
-rw-r--r--patches/aixrtl/2.4.0-expsym-cxx16
-rw-r--r--patches/aixrtl/2.4.2.418-cmds-c11
-rw-r--r--patches/aixrtl/2.4.2.418-cmds-cxx11
-rw-r--r--patches/aixrtl/2.4.2.418-soname12
-rw-r--r--patches/aixrtl/2.4.4-expsym-c21
-rw-r--r--patches/aixrtl/2.4.4-expsym-cxx21
-rw-r--r--patches/aixrtl/2.4.4-with-svr411
30 files changed, 382 insertions, 0 deletions
diff --git a/patches/aixrtl/1.5.0-cmds-c b/patches/aixrtl/1.5.0-cmds-c
new file mode 100644
index 0000000..9be0568
--- /dev/null
+++ b/patches/aixrtl/1.5.0-cmds-c
@@ -0,0 +1,11 @@
+--- configure
++++ configure
+@@ -7234,7 +7235,7 @@
+ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+- archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
++ archive_expsym_cmds='eval `echo "$soname" | sed -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~rm -f -r $lib.d~mkdir -p $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~rm -f -r $lib.d'
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
diff --git a/patches/aixrtl/1.5.0-cmds-cxx b/patches/aixrtl/1.5.0-cmds-cxx
new file mode 100644
index 0000000..13ffb7a
--- /dev/null
+++ b/patches/aixrtl/1.5.0-cmds-cxx
@@ -0,0 +1,11 @@
+--- configure
++++ configure
+@@ -10041,7 +10043,7 @@
+
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+- archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
++ archive_expsym_cmds_CXX='eval `echo "$soname" | sed -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~rm -f -r $lib.d~mkdir -p $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~rm -f -r $lib.d'
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
diff --git a/patches/aixrtl/1.5.0-expsym-c b/patches/aixrtl/1.5.0-expsym-c
new file mode 100644
index 0000000..df2e979
--- /dev/null
+++ b/patches/aixrtl/1.5.0-expsym-c
@@ -0,0 +1,16 @@
+--- configure
++++ configure
+@@ -7113,9 +7113,11 @@
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
++ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
++ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*|_GLOBAL__[FID]_.*'
+ else
+- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
++ export_symbols_cmds='`echo $NM | sed -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
++ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*|_GLOBAL__[FID]_.*'
+ fi
+ aix_use_runtimelinking=no
+
diff --git a/patches/aixrtl/1.5.0-expsym-cxx b/patches/aixrtl/1.5.0-expsym-cxx
new file mode 100644
index 0000000..fcc31d5
--- /dev/null
+++ b/patches/aixrtl/1.5.0-expsym-cxx
@@ -0,0 +1,16 @@
+--- configure
++++ configure
+@@ -11217,9 +11217,11 @@
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+- export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
++ export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
++ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*|_GLOBAL__[FID]_.*'
+ else
+- export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
++ export_symbols_cmds_CXX='`echo $NM | sed -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
++ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*|_GLOBAL__[FID]_.*'
+ fi
+ ;;
+ pw32*)
diff --git a/patches/aixrtl/1.5.0-noundef-c b/patches/aixrtl/1.5.0-noundef-c
new file mode 100644
index 0000000..c893f9c
--- /dev/null
+++ b/patches/aixrtl/1.5.0-noundef-c
@@ -0,0 +1,11 @@
+--- configure
++++ configure
+@@ -7189,7 +7190,7 @@
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+- allow_undefined_flag='-berok'
++ no_undefined_flag=' ${wl}-bernotok'
+ # Determine the default libpath from the value encoded in an empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
diff --git a/patches/aixrtl/1.5.0-noundef-cxx b/patches/aixrtl/1.5.0-noundef-cxx
new file mode 100644
index 0000000..dc01fca
--- /dev/null
+++ b/patches/aixrtl/1.5.0-noundef-cxx
@@ -0,0 +1,11 @@
+--- configure
++++ configure
+@@ -9995,7 +9997,7 @@
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+- allow_undefined_flag_CXX='-berok'
++ no_undefined_flag_CXX=' ${wl}-bernotok'
+ # Determine the default libpath from the value encoded in an empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
diff --git a/patches/aixrtl/1.5.0-soname b/patches/aixrtl/1.5.0-soname
new file mode 100644
index 0000000..5c18065
--- /dev/null
+++ b/patches/aixrtl/1.5.0-soname
@@ -0,0 +1,13 @@
+--- configure
++++ configure
+@@ -14426,7 +14426,9 @@
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
++ [ "${OBJECT_MODE:-32}" = '64' ] && soname_spec='$libname$release$shared_ext$major(shr_64.o)' || soname_spec='$libname$release$shared_ext$major(shr.o)'
++ shlibpath_overrides_runpath=yes
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
diff --git a/patches/aixrtl/1.5.0-usertl-c b/patches/aixrtl/1.5.0-usertl-c
new file mode 100644
index 0000000..b5ff186
--- /dev/null
+++ b/patches/aixrtl/1.5.0-usertl-c
@@ -0,0 +1,10 @@
+--- configure
++++ configure
+@@ -7130,6 +7130,7 @@
+ fi
+ done
+ esac
++ aix_use_runtimelinking=yes
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
diff --git a/patches/aixrtl/1.5.0-usertl-cxx b/patches/aixrtl/1.5.0-usertl-cxx
new file mode 100644
index 0000000..36c84e9
--- /dev/null
+++ b/patches/aixrtl/1.5.0-usertl-cxx
@@ -0,0 +1,10 @@
+--- configure
++++ configure
+@@ -9936,6 +9937,7 @@
+ esac
+ done
+ esac
++ aix_use_runtimelinking=yes
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
diff --git a/patches/aixrtl/1.5.22-cmds-c b/patches/aixrtl/1.5.22-cmds-c
new file mode 100644
index 0000000..a97485a
--- /dev/null
+++ b/patches/aixrtl/1.5.22-cmds-c
@@ -0,0 +1,11 @@
+--- configure
++++ configure
+@@ -8679,7 +8679,7 @@
+ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+- archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
++ archive_expsym_cmds='eval `echo "$soname" | sed -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~rm -f -r $lib.d~mkdir -p $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~rm -f -r $lib.d'
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
diff --git a/patches/aixrtl/1.5.22-cmds-cxx b/patches/aixrtl/1.5.22-cmds-cxx
new file mode 100644
index 0000000..222a0f7
--- /dev/null
+++ b/patches/aixrtl/1.5.22-cmds-cxx
@@ -0,0 +1,11 @@
+--- configure
++++ configure
+@@ -11731,7 +11731,7 @@
+
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+- archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
++ archive_expsym_cmds_CXX='eval `echo "$soname" | sed -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~rm -f -r $lib.d~mkdir -p $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~rm -f -r $lib.d'
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
diff --git a/patches/aixrtl/2.0.0-fpic-c b/patches/aixrtl/2.0.0-fpic-c
new file mode 100644
index 0000000..bb3cb42
--- /dev/null
+++ b/patches/aixrtl/2.0.0-fpic-c
@@ -0,0 +1,12 @@
+--- configure
++++ configure
+@@ -1,6 +1,9 @@
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
++ lt_prog_compiler_pic='-fPIC'
++ else
++ lt_prog_compiler_pic='-fPIC'
+ fi
+ ;;
+
diff --git a/patches/aixrtl/2.0.0-fpic-cxx b/patches/aixrtl/2.0.0-fpic-cxx
new file mode 100644
index 0000000..532bbcf
--- /dev/null
+++ b/patches/aixrtl/2.0.0-fpic-cxx
@@ -0,0 +1,12 @@
+--- configure
++++ configure
+@@ -1,6 +1,9 @@
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_CXX='-Bstatic'
++ lt_prog_compiler_pic_CXX='-fPIC'
++ else
++ lt_prog_compiler_pic_CXX='-fPIC'
+ fi
+ ;;
+
diff --git a/patches/aixrtl/2.2.0-cmds-c b/patches/aixrtl/2.2.0-cmds-c
new file mode 100644
index 0000000..6c2cd7e
--- /dev/null
+++ b/patches/aixrtl/2.2.0-cmds-c
@@ -0,0 +1,11 @@
+--- configure
++++ configure
+@@ -8619,7 +8619,7 @@
+ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
++ archive_expsym_cmds='eval `echo "$soname" | sed -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~rm -f -r $lib.d~mkdir -p $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~rm -f -r $lib.d'
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
diff --git a/patches/aixrtl/2.2.0-cmds-cxx b/patches/aixrtl/2.2.0-cmds-cxx
new file mode 100644
index 0000000..af3c7b7
--- /dev/null
+++ b/patches/aixrtl/2.2.0-cmds-cxx
@@ -0,0 +1,11 @@
+--- configure
++++ configure
+@@ -13946,7 +13947,7 @@
+
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+- archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
++ archive_expsym_cmds_CXX='eval `echo "$soname" | sed -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~rm -f -r $lib.d~mkdir -p $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~rm -f -r $lib.d'
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
diff --git a/patches/aixrtl/2.2.0-expsym-c b/patches/aixrtl/2.2.0-expsym-c
new file mode 100644
index 0000000..1f26cd2
--- /dev/null
+++ b/patches/aixrtl/2.2.0-expsym-c
@@ -0,0 +1,16 @@
+--- configure
++++ configure
+@@ -8475,9 +8475,11 @@
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
++ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*|_GLOBAL__[FID]_.*'
+ else
+- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ export_symbols_cmds='`echo $NM | sed -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
++ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*|_GLOBAL__[FID]_.*'
+ fi
+ aix_use_runtimelinking=no
+
diff --git a/patches/aixrtl/2.2.0-expsym-cxx b/patches/aixrtl/2.2.0-expsym-cxx
new file mode 100644
index 0000000..b2164ab
--- /dev/null
+++ b/patches/aixrtl/2.2.0-expsym-cxx
@@ -0,0 +1,16 @@
+--- configure
++++ configure
+@@ -15506,9 +15506,11 @@
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+- export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
++ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*|_GLOBAL__[FID]_.*'
+ else
+- export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ export_symbols_cmds_CXX='`echo $NM | sed -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
++ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*|_GLOBAL__[FID]_.*'
+ fi
+ ;;
+ pw32*)
diff --git a/patches/aixrtl/2.2.0-noundef-c b/patches/aixrtl/2.2.0-noundef-c
new file mode 100644
index 0000000..d9520cb
--- /dev/null
+++ b/patches/aixrtl/2.2.0-noundef-c
@@ -0,0 +1,11 @@
+--- configure
++++ configure
+@@ -8558,7 +8558,7 @@
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+- allow_undefined_flag='-berok'
++ no_undefined_flag=' ${wl}-bernotok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
diff --git a/patches/aixrtl/2.2.0-noundef-cxx b/patches/aixrtl/2.2.0-noundef-cxx
new file mode 100644
index 0000000..37d02db
--- /dev/null
+++ b/patches/aixrtl/2.2.0-noundef-cxx
@@ -0,0 +1,11 @@
+--- configure
++++ configure
+@@ -13884,7 +13885,7 @@
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+- allow_undefined_flag_CXX='-berok'
++ no_undefined_flag_CXX=' ${wl}-bernotok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ cat >conftest.$ac_ext <<_ACEOF
diff --git a/patches/aixrtl/2.2.0-usertl-cxx b/patches/aixrtl/2.2.0-usertl-cxx
new file mode 100644
index 0000000..c59a093
--- /dev/null
+++ b/patches/aixrtl/2.2.0-usertl-cxx
@@ -0,0 +1,10 @@
+--- configure
++++ configure
+@@ -13819,6 +13819,7 @@
+ done
+ ;;
+ esac
++ aix_use_runtimelinking=yes
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
diff --git a/patches/aixrtl/2.2.8-cmds-c b/patches/aixrtl/2.2.8-cmds-c
new file mode 100644
index 0000000..e1e0934
--- /dev/null
+++ b/patches/aixrtl/2.2.8-cmds-c
@@ -0,0 +1,11 @@
+--- configure
++++ configure
+@@ -9214,7 +9214,7 @@
+ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
++ archive_expsym_cmds='eval `echo "$soname" | sed -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~rm -f -r $lib.d~mkdir -p $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~rm -f -r $lib.d'
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
diff --git a/patches/aixrtl/2.2.8-cmds-cxx b/patches/aixrtl/2.2.8-cmds-cxx
new file mode 100644
index 0000000..7a31f66
--- /dev/null
+++ b/patches/aixrtl/2.2.8-cmds-cxx
@@ -0,0 +1,11 @@
+--- configure
++++ configure
+@@ -13307,7 +13307,7 @@
+
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+- archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
++ archive_expsym_cmds_CXX='eval `echo "$soname" | sed -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~rm -f -r $lib.d~mkdir -p $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~rm -f -r $lib.d'
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
diff --git a/patches/aixrtl/2.4.0-expsym-c b/patches/aixrtl/2.4.0-expsym-c
new file mode 100644
index 0000000..5af84e7
--- /dev/null
+++ b/patches/aixrtl/2.4.0-expsym-c
@@ -0,0 +1,16 @@
+--- configure
++++ configure
+@@ -9660,9 +9660,11 @@
+ # Also, AIX nm treats weak defined symbols like other global
+ # defined symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
++ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*|_GLOBAL__[FID]_.*'
+ else
+- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ export_symbols_cmds='`echo $NM | sed -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
++ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*|_GLOBAL__[FID]_.*'
+ fi
+ aix_use_runtimelinking=no
+
diff --git a/patches/aixrtl/2.4.0-expsym-cxx b/patches/aixrtl/2.4.0-expsym-cxx
new file mode 100644
index 0000000..0bb3729
--- /dev/null
+++ b/patches/aixrtl/2.4.0-expsym-cxx
@@ -0,0 +1,16 @@
+--- configure
++++ configure
+@@ -15711,9 +15711,11 @@
+ # Also, AIX nm treats weak defined symbols like other global defined
+ # symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+- export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
++ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*|_GLOBAL__[FID]_.*'
+ else
+- export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ export_symbols_cmds_CXX='`echo $NM | sed -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
++ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*|_GLOBAL__[FID]_.*'
+ fi
+ ;;
+ pw32*)
diff --git a/patches/aixrtl/2.4.2.418-cmds-c b/patches/aixrtl/2.4.2.418-cmds-c
new file mode 100644
index 0000000..d92ce34
--- /dev/null
+++ b/patches/aixrtl/2.4.2.418-cmds-c
@@ -0,0 +1,11 @@
+--- configure
++++ configure
+@@ -9214,7 +9214,7 @@
+ fi
+
+ hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
+- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
++ archive_expsym_cmds='eval `echo "$soname" | $SED -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~$RM -r $lib.d~$MKDIR $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~$RM -r $lib.d'
+ else
+ if test ia64 = "$host_cpu"; then
+ hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
diff --git a/patches/aixrtl/2.4.2.418-cmds-cxx b/patches/aixrtl/2.4.2.418-cmds-cxx
new file mode 100644
index 0000000..851be27
--- /dev/null
+++ b/patches/aixrtl/2.4.2.418-cmds-cxx
@@ -0,0 +1,11 @@
+--- configure
++++ configure
+@@ -13307,7 +13307,7 @@
+
+ hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
+
+- archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
++ archive_expsym_cmds_CXX='eval `echo "$soname" | sed -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~$RM -r $lib.d~$MKDIR $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~$RM -r $lib.d'
+ else
+ if test ia64 = "$host_cpu"; then
+ hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib'
diff --git a/patches/aixrtl/2.4.2.418-soname b/patches/aixrtl/2.4.2.418-soname
new file mode 100644
index 0000000..cb9e48f
--- /dev/null
+++ b/patches/aixrtl/2.4.2.418-soname
@@ -0,0 +1,12 @@
+--- configure
++++ configure
+@@ -14426,6 +14426,8 @@
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+- library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
++ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
++ [ "${OBJECT_MODE:-32}" = '64' ] && soname_spec='$libname$release$shared_ext$major(shr_64.o)' || soname_spec='$libname$release$shared_ext$major(shr.o)'
++ shlibpath_overrides_runpath=yes
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
diff --git a/patches/aixrtl/2.4.4-expsym-c b/patches/aixrtl/2.4.4-expsym-c
new file mode 100644
index 0000000..cad960b
--- /dev/null
+++ b/patches/aixrtl/2.4.4-expsym-c
@@ -0,0 +1,21 @@
+commit 2dfd834840a9de8ce3866af1cf8f3aff9b1a15e8
+Author: Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
+Date: Wed Mar 2 15:06:48 2016 +0100
+
+ AIX: Stop exporting any _GLOBAL__ symbol.
+
+ * m4/libtool.m4 (_LT_LINKER_SHLIBS): On AIX, GNU g++ generates
+ _GLOBAL__* symbols as, amongst others, landing pads for C++ exceptions.
+ These symbols must not be exported from shared libraries, or exception
+ handling may break for applications with runtime linking enabled.
+
+--- configure
++++ configure
+@@ -5446,6 +5447,7 @@ _LT_EOF
+ # symbols only, and the '-p' flag disables sorting to improve
+ # performance. For the weak symbol handling see the CXX tag.
+ export_symbols_cmds='$NM -gp $libobjs $convenience | $global_symbol_pipe | $EGREP -v " ($exclude_expsyms)$" | awk '\''{ kw = "" } /^([[CVWZ]]|[[BDLT]]\*) / { kw = " weak" } { print $ 3 kw }'\'' | sort -u > $export_symbols'
++ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*|_GLOBAL__[FID]_.*'
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
diff --git a/patches/aixrtl/2.4.4-expsym-cxx b/patches/aixrtl/2.4.4-expsym-cxx
new file mode 100644
index 0000000..a9ea046
--- /dev/null
+++ b/patches/aixrtl/2.4.4-expsym-cxx
@@ -0,0 +1,21 @@
+commit 2dfd834840a9de8ce3866af1cf8f3aff9b1a15e8
+Author: Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
+Date: Wed Mar 2 15:06:48 2016 +0100
+
+ AIX: Stop exporting any _GLOBAL__ symbol.
+
+ * m4/libtool.m4 (_LT_LINKER_SHLIBS): On AIX, GNU g++ generates
+ _GLOBAL__* symbols as, amongst others, landing pads for C++ exceptions.
+ These symbols must not be exported from shared libraries, or exception
+ handling may break for applications with runtime linking enabled.
+
+--- configure
++++ configure
+@@ -5000,6 +5000,7 @@ m4_if([$1], [CXX], [
+ # '[[BDLT]]*' with AIX nm in default mode (POSIX like)
+ # '[[CVW]]' with GNU nm in either BSD or POSIX mode
+ export_symbols_cmds_CXX='$NM -gp $libobjs $convenience | $global_symbol_pipe | $EGREP -v " ($exclude_expsyms)$" | awk '\''{ kw = "" } /^([[CVWZ]]|[[BDLT]]\*) / { kw = " weak" } { print $ 3 kw }'\'' | sort -u > $export_symbols'
++ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*|_GLOBAL__[FID]_.*'
+ ;;
+ pw32*)
+ export_symbols_cmds_CXX=$ltdll_cmds
diff --git a/patches/aixrtl/2.4.4-with-svr4 b/patches/aixrtl/2.4.4-with-svr4
new file mode 100644
index 0000000..f356ea9
--- /dev/null
+++ b/patches/aixrtl/2.4.4-with-svr4
@@ -0,0 +1,11 @@
+--- configure
++++ configure
+@@ -10835,7 +10835,7 @@
+ if ${lt_cv_with_aix_soname+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- lt_cv_with_aix_soname=aix
++ lt_cv_with_aix_soname=svr4
+ fi
+
+ with_aix_soname=$lt_cv_with_aix_soname