From: Richard Henderson Date: Fri, 18 Nov 2011 01:38:48 +0000 (-0800) Subject: re PR libstdc++/51181 (libstdc++.so __sync_sub_and_fetch_4 linkage error causing... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1d794721acc6b43208bfea764034835172805ebd;p=gcc.git re PR libstdc++/51181 (libstdc++.so __sync_sub_and_fetch_4 linkage error causing many test suite failures on m68k-linux) PR libstdc++/51181 * libsupc++/eh_tm.cc (free_any_cxa_exception): Protect the use of __sync_sub_and_fetch with _GLIBCXX_ATOMIC_BUILTINS_4. From-SVN: r181465 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index a2b4ceb26ee..c52db389583 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2011-11-17 Richard Henderson + + PR libstdc++/51181 + * libsupc++/eh_tm.cc (free_any_cxa_exception): Protect the use + of __sync_sub_and_fetch with _GLIBCXX_ATOMIC_BUILTINS_4. + 2011-11-18 Jonathan Wakely * testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run diff --git a/libstdc++-v3/libsupc++/eh_tm.cc b/libstdc++-v3/libsupc++/eh_tm.cc index f5815a180df..a64610283ff 100644 --- a/libstdc++-v3/libsupc++/eh_tm.cc +++ b/libstdc++-v3/libsupc++/eh_tm.cc @@ -45,7 +45,9 @@ free_any_cxa_exception (_Unwind_Exception *eo) __cxa_free_dependent_exception (dep); } +#ifdef _GLIBCXX_ATOMIC_BUILTINS_4 if (__sync_sub_and_fetch (&h->referenceCount, 1) == 0) +#endif __cxa_free_exception (h + 1); }