http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59215

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2013-11-21
          Component|sanitizer                   |libstdc++
           Assignee|unassigned at gcc dot gnu.org      |redi at gcc dot gnu.org
   Target Milestone|---                         |4.8.3
     Ever confirmed|0                           |1

--- Comment #17 from Jonathan Wakely <redi at gcc dot gnu.org> ---
This should fix it:

--- a/libstdc++-v3/include/bits/shared_ptr_base.h
+++ b/libstdc++-v3/include/bits/shared_ptr_base.h
@@ -233,7 +233,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     _M_add_ref_lock()
     {
       // Perform lock-free add-if-not-zero operation.
-      _Atomic_word __count = _M_use_count;
+      _Atomic_word __count = _M_get_use_count();
       do
        {
          if (__count == 0)

But I can't test it yet because libtsan is giving me undefined references to
sigsetjmp.

Reply via email to