summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2017-03-24 17:27:18 +0100
committerMichał Górny <mgorny@gentoo.org>2017-03-24 17:27:18 +0100
commit6bb1aaecd1c95373675e6cd0a3eae6ab130d03a2 (patch)
tree8dc247fac32489b77da7ce30d452ff7fc9613fff /aixrtl/2.4.4-expsym-cxx
downloadelt-patches-6bb1aaecd1c95373675e6cd0a3eae6ab130d03a2.tar.gz
elt-patches-6bb1aaecd1c95373675e6cd0a3eae6ab130d03a2.tar.bz2
elt-patches-6bb1aaecd1c95373675e6cd0a3eae6ab130d03a2.zip
Move patches from ::gentoo20170317
Diffstat (limited to 'aixrtl/2.4.4-expsym-cxx')
-rw-r--r--aixrtl/2.4.4-expsym-cxx21
1 files changed, 21 insertions, 0 deletions
diff --git a/aixrtl/2.4.4-expsym-cxx b/aixrtl/2.4.4-expsym-cxx
new file mode 100644
index 0000000..a9ea046
--- /dev/null
+++ b/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