[gentoo-commits] repo/gentoo:master commit in: eclass/ELT-patches/aixrtl/
commit: ca5ed54f176ed507106267702a99212a09b887c1 Author: Michael Haubenwallner gentoo org> AuthorDate: Tue Mar 14 09:36:11 2017 + Commit: Michael Haubenwallner gentoo org> CommitDate: Tue Mar 14 16:06:24 2017 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ca5ed54f ELT-patches/aixrtl: tighten exclude_expsyms filter Be a little more specific on filtering _GLOBAL__ symbols. eclass/ELT-patches/aixrtl/1.5.0-expsym-c | 4 ++-- eclass/ELT-patches/aixrtl/1.5.0-expsym-cxx | 4 ++-- eclass/ELT-patches/aixrtl/2.2.0-expsym-c | 4 ++-- eclass/ELT-patches/aixrtl/2.2.0-expsym-cxx | 4 ++-- eclass/ELT-patches/aixrtl/2.4.0-expsym-c | 4 ++-- eclass/ELT-patches/aixrtl/2.4.0-expsym-cxx | 4 ++-- eclass/ELT-patches/aixrtl/2.4.4-expsym-c | 2 +- eclass/ELT-patches/aixrtl/2.4.4-expsym-cxx | 2 +- 8 files changed, 14 insertions(+), 14 deletions(-) diff --git a/eclass/ELT-patches/aixrtl/1.5.0-expsym-c b/eclass/ELT-patches/aixrtl/1.5.0-expsym-c index 13419b205da..df2e9798255 100644 --- a/eclass/ELT-patches/aixrtl/1.5.0-expsym-c +++ b/eclass/ELT-patches/aixrtl/1.5.0-expsym-c @@ -6,11 +6,11 @@ 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__.*' ++ 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__.*' ++ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*|_GLOBAL__[FID]_.*' fi aix_use_runtimelinking=no diff --git a/eclass/ELT-patches/aixrtl/1.5.0-expsym-cxx b/eclass/ELT-patches/aixrtl/1.5.0-expsym-cxx index 561bc54d76c..fcc31d5696f 100644 --- a/eclass/ELT-patches/aixrtl/1.5.0-expsym-cxx +++ b/eclass/ELT-patches/aixrtl/1.5.0-expsym-cxx @@ -6,11 +6,11 @@ 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__.*' ++ 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__.*' ++ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*|_GLOBAL__[FID]_.*' fi ;; pw32*) diff --git a/eclass/ELT-patches/aixrtl/2.2.0-expsym-c b/eclass/ELT-patches/aixrtl/2.2.0-expsym-c index c74cee20c12..1f26cd2237e 100644 --- a/eclass/ELT-patches/aixrtl/2.2.0-expsym-c +++ b/eclass/ELT-patches/aixrtl/2.2.0-expsym-c @@ -6,11 +6,11 @@ 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
[gentoo-commits] repo/gentoo:master commit in: eclass/ELT-patches/aixrtl/
commit: e46b5ca5b49028528245dec068bee7e9b8a22878 Author: Michael Haubenwallner gentoo org> AuthorDate: Mon Mar 13 16:54:29 2017 + Commit: Michael Haubenwallner gentoo org> CommitDate: Mon Mar 13 17:11:05 2017 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e46b5ca5 ELT-patches/aixrtl: fix exclude_expsyms for C++ exceptions 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. eclass/ELT-patches/aixrtl/1.5.0-expsym-c | 4 +++- eclass/ELT-patches/aixrtl/1.5.0-expsym-cxx | 4 +++- eclass/ELT-patches/aixrtl/2.2.0-expsym-c | 4 +++- eclass/ELT-patches/aixrtl/2.2.0-expsym-cxx | 4 +++- eclass/ELT-patches/aixrtl/2.4.0-expsym-c | 4 +++- eclass/ELT-patches/aixrtl/2.4.0-expsym-cxx | 4 +++- eclass/ELT-patches/aixrtl/2.4.4-expsym-c | 21 + eclass/ELT-patches/aixrtl/2.4.4-expsym-cxx | 21 + 8 files changed, 60 insertions(+), 6 deletions(-) diff --git a/eclass/ELT-patches/aixrtl/1.5.0-expsym-c b/eclass/ELT-patches/aixrtl/1.5.0-expsym-c index 2b54887d8fc..13419b205da 100644 --- a/eclass/ELT-patches/aixrtl/1.5.0-expsym-c +++ b/eclass/ELT-patches/aixrtl/1.5.0-expsym-c @@ -1,14 +1,16 @@ --- configure +++ configure -@@ -7113,9 +7113,9 @@ +@@ -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__.*' 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__.*' fi aix_use_runtimelinking=no diff --git a/eclass/ELT-patches/aixrtl/1.5.0-expsym-cxx b/eclass/ELT-patches/aixrtl/1.5.0-expsym-cxx index 9b6bdc2f952..561bc54d76c 100644 --- a/eclass/ELT-patches/aixrtl/1.5.0-expsym-cxx +++ b/eclass/ELT-patches/aixrtl/1.5.0-expsym-cxx @@ -1,14 +1,16 @@ --- configure +++ configure -@@ -11217,9 +11217,9 @@ +@@ -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__.*' 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__.*' fi ;; pw32*) diff --git a/eclass/ELT-patches/aixrtl/2.2.0-expsym-c b/eclass/ELT-patches/aixrtl/2.2.0-expsym-c index 196a5a36e60..c74cee20c12 100644 --- a/eclass/ELT-patches/aixrtl/2.2.0-expsym-c +++ b/eclass/ELT-patches/aixrtl/2.2.0-expsym-c @@ -1,14 +1,16 @@ --- configure +++ configure -@@ -8475,9
[gentoo-commits] repo/gentoo:master commit in: eclass/ELT-patches/aixrtl/
commit: 4cc26176395a4cc2eb5dfe5133c4018bbcaca278 Author: Michael Haubenwallner gentoo org> AuthorDate: Mon Mar 13 15:49:34 2017 + Commit: Michael Haubenwallner gentoo org> CommitDate: Mon Mar 13 15:57:43 2017 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4cc26176 ELT-patches/aixrtl: add shlibpath_overrides_runpath=yes, sync library_names_spec eclass/ELT-patches/aixrtl/1.5.0-soname | 3 ++- eclass/ELT-patches/aixrtl/2.4.2.418-soname | 6 -- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/eclass/ELT-patches/aixrtl/1.5.0-soname b/eclass/ELT-patches/aixrtl/1.5.0-soname index 113fe2d84e1..5c1806508c4 100644 --- a/eclass/ELT-patches/aixrtl/1.5.0-soname +++ b/eclass/ELT-patches/aixrtl/1.5.0-soname @@ -1,12 +1,13 @@ --- configure +++ configure -@@ -14426,7 +14426,8 @@ +@@ -14426,7 +14426,9 @@ # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.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/eclass/ELT-patches/aixrtl/2.4.2.418-soname b/eclass/ELT-patches/aixrtl/2.4.2.418-soname index de3e93e8ae5..cb9e48fc0e8 100644 --- a/eclass/ELT-patches/aixrtl/2.4.2.418-soname +++ b/eclass/ELT-patches/aixrtl/2.4.2.418-soname @@ -1,10 +1,12 @@ --- configure +++ configure -@@ -14426,6 +14426,7 @@ +@@ -14426,6 +14426,8 @@ # instead of lib.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$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.