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

--- Comment #12 from Jack Howarth <howarth at nitro dot med.uc.edu> 2012-01-28 
16:52:24 UTC ---
The contents of 3.ii.diff seems to suggest that the problem is the fact that
Lion always defines _GTHREAD_RECURSIVE_MUTEX_INIT and this support is either
buggy on Lion or is exposing a libstdc++ mutex bug. This usage can be seen in
libstdc++-v3/include/mutex as....

#ifdef __GTHREAD_RECURSIVE_MUTEX_INIT
    __native_type  _M_mutex = __GTHREAD_RECURSIVE_MUTEX_INIT;

    __recursive_mutex_base() = default;
#else
    __native_type  _M_mutex;

    __recursive_mutex_base()
    {
      // XXX EAGAIN, ENOMEM, EPERM, EBUSY(may), EINVAL(may)
      __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION(&_M_mutex);
    }

    ~__recursive_mutex_base()
    { _S_destroy(&_M_mutex); }

Note that if you compile 3.ii.lion_10.6 on SL, the same execution failure is
seen there.

Reply via email to