diff options
author | Mike Frysinger <vapier@gentoo.org> | 2011-06-09 16:44:14 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2011-06-09 16:44:14 +0000 |
commit | 210fef40f1f33535f638bd94814c06809be7a35a (patch) | |
tree | 053840354d84c9a94977e9272ff10c305b225287 | |
parent | Add patch for PR48517. (diff) | |
download | gcc-patches-210fef40f1f33535f638bd94814c06809be7a35a.tar.gz gcc-patches-210fef40f1f33535f638bd94814c06809be7a35a.tar.bz2 gcc-patches-210fef40f1f33535f638bd94814c06809be7a35a.zip |
add fix from upstream for missing symbol versions in multilib builds #304239
-rw-r--r-- | 3.3.6/gentoo/53_all_pr14697-libstdc++-multilib-syms.patch | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/3.3.6/gentoo/53_all_pr14697-libstdc++-multilib-syms.patch b/3.3.6/gentoo/53_all_pr14697-libstdc++-multilib-syms.patch new file mode 100644 index 0000000..c1ad1f9 --- /dev/null +++ b/3.3.6/gentoo/53_all_pr14697-libstdc++-multilib-syms.patch @@ -0,0 +1,77 @@ +http://gcc.gnu.org/PR14697 +http://bugs.gentoo.org/304239 + +2004-07-15 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/14697 + * acinclude.m4 (glibcxx_shared_libgcc): Correct + glibcxx_shared_libgcc test for multilibs. + * configure: Rebuilt. + +and then mangled a bit to apply to gcc-3.3.6 + +--- a/libstdc++-v3/acinclude.m4 ++++ b/libstdc++-v3/acinclude.m4 +@@ -1577,6 +1577,23 @@ if test $enable_symvers != no; then + CFLAGS=' -lgcc_s' + AC_TRY_LINK(, [return 0], glibcpp_shared_libgcc=yes, glibcpp_shared_libgcc=no) + CFLAGS="$ac_save_CFLAGS" ++ if test $glibcpp_shared_libgcc = no; then ++ cat > conftest.c <<EOF ++int main (void) { return 0; } ++EOF ++changequote(,)dnl ++ glibcpp_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \ ++ -shared -shared-libgcc -o conftest.so \ ++ conftest.c -v 2>&1 >/dev/null \ ++ | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'` ++changequote([,])dnl ++ rm -f conftest.c conftest.so ++ if test x${glibcpp_libgcc_s_suffix+set} = xset; then ++ CFLAGS=" -lgcc_s$glibcpp_libgcc_s_suffix" ++ AC_TRY_LINK(, [return 0;], glibcpp_shared_libgcc=yes) ++ CFLAGS="$ac_save_CFLAGS" ++ fi ++ fi + AC_MSG_RESULT($glibcpp_shared_libgcc) + fi + +--- a/libstdc++-v3/configure ++++ b/libstdc++-v3/configure +@@ -23563,6 +23529,36 @@ + fi + rm -f conftest* + CFLAGS="$ac_save_CFLAGS" ++ if test $glibcpp_shared_libgcc = no; then ++ cat > conftest.c <<EOF ++int main (void) { return 0; } ++EOF ++ glibcpp_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \ ++ -shared -shared-libgcc -o conftest.so \ ++ conftest.c -v 2>&1 >/dev/null \ ++ | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'` ++ rm -f conftest.c conftest.so ++ if test x${glibcpp_libgcc_s_suffix+set} = xset; then ++ CFLAGS=" -lgcc_s$glibcpp_libgcc_s_suffix" ++ cat > conftest.$ac_ext <<EOF ++#line 23545 "configure" ++#include "confdefs.h" ++ ++int main() { ++return 0; ++; return 0; } ++EOF ++if { (eval echo configure:23552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ++ rm -rf conftest* ++ glibcpp_shared_libgcc=yes ++else ++ echo "configure: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++fi ++rm -f conftest* ++ CFLAGS="$ac_save_CFLAGS" ++ fi ++ fi + echo "$ac_t""$glibcpp_shared_libgcc" 1>&6 + fi + |