On Sun, Oct 9, 2016 at 5:57 PM, Jack Howarth <howarth.at.macpo...@gmail.com> wrote: > On Sun, Oct 9, 2016 at 4:46 PM, Jack Howarth > <howarth.at.macpo...@gmail.com> wrote: >> On Sun, Oct 9, 2016 at 3:20 PM, Jeremy Huddleston Sequoia >> <jerem...@apple.com> wrote: >>> >>>> On Oct 9, 2016, at 09:47, Jack Howarth <howarth.at.macpo...@gmail.com> >>>> wrote: >>>> >>>> On Sun, Oct 9, 2016 at 3:53 AM, Jeremy Huddleston Sequoia >>>> <jerem...@apple.com> wrote: >>>>> thread_local support was added in OS X 10.9 (along with >>>>> __cxa_thread_atexit being added to Libc as part of that support). As >>>>> long as your minimum deployment target is 10.9, you should be fine. The >>>>> issue is that you're on 10.6, so you don't have __cxa_thread_atexit. >>>>> >>>>> There is active conversation right now about adding a fallback >>>>> implementation of __cxa_thread_atexit directly into libcxxabi. See >>>>> https://reviews.llvm.org/D21803 as that might be quite useful for your >>>>> needs. If so, provide a patch to libcxxabi that incorporates it, and >>>>> I'll get it in. >>>> >>>> On the topic of thread local support, the failures in the guile 2.0.x >>>> test suite should be looked at... >>>> >>>> https://trac.macports.org/ticket/52556 >>>> >>>> to determine if Apple's thread-local-storage implementation is buggy >>>> as upstream guile claims. >>> >>> Radar? >> >> radar://28688091 "guile 2.0.12 exposes potential thread-local-storage >> bug on Mac OS X" > > One other piece of information is the following comments placed in > libguile/threads.c that should give you a rough picture of what guile > is doing with thread-local-storage (in case anything there seems > outside the scope of the Apple implementation). > > /* When thread-local storage (TLS) is available, a pointer to the > current-thread object is kept in TLS. Note that storing the thread-object > itself in TLS (rather than a pointer to some malloc'd memory) is not > possible since thread objects may live longer than the actual thread they > represent. */ > > /* Cache the current thread in TLS for faster lookup. */ >
One other comment in libguile/async.c /* These are function variants of the same-named macros (uppercase) for use outside of libguile. This is so that `SCM_I_CURRENT_THREAD', which may reside in TLS, is not accessed from outside of libguile. It thus allows libguile to be built with the "local-dynamic" TLS model. */ >> >> Note that currently the guile Portfile in MacPorts lacks the support >> for 'sudo port -d test guile' to work. >> >>> _______________________________________________ macports-dev mailing list macports-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-dev