diff options
author | Richard Henderson <rth@redhat.com> | 2011-11-17 17:38:48 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2011-11-17 17:38:48 -0800 |
commit | 1d794721acc6b43208bfea764034835172805ebd (patch) | |
tree | 460de928ad8835c73b0b0ec931affd2de8918b7a | |
parent | a98f3def7e7182d0a4831fc98b4472a785723a83 (diff) | |
download | gcc-1d794721acc6b43208bfea764034835172805ebd.zip gcc-1d794721acc6b43208bfea764034835172805ebd.tar.gz gcc-1d794721acc6b43208bfea764034835172805ebd.tar.bz2 |
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
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/libsupc++/eh_tm.cc | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index a2b4ceb..c52db38 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2011-11-17 Richard Henderson <rth@redhat.com> + + 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 <jwakely.gcc@gmail.com> * 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 f5815a1..a646102 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); } |