x86_64 ghc on Mac OS

Simon Marlow marlowsd at gmail.com
Fri Feb 27 10:50:39 EST 2009


Ben Lippmeier wrote:
> 
> On 24/02/2009, at 12:18 PM, Daniel Peebles wrote:
> 
>>> extern __thread gc_thread* gct
>>
>> Yeah, but from what I understand of the __thread for thread-local
>> storage, it seems rather ELF-specific. Attempting to compile code that
>> uses it on (my) Mac OS (i.e., MachO instead of ELF) results in a
>> "thread-local storage not supported for this target" error, which
>> according to 
>> http://lists.apple.com/archives/xcode-users/2006/Jun/msg00551.html
>> is expected on Mac OS. Given the line of #ifdefs in that file, though,
>> I'm not sure how the thread-local storage works normally for Mac OS.
> 
> :) It works on Mac OS usually because gct is stored in a pinned 
> register. That won't work with a unregisterised build though. Sounds 
> like a Catch-22, better ask Simon M.

If you have no __thread, then we either have to disable the parallel GC 
(not possible without adding more #ifdefs right now), or just disable the 
threaded RTS on this platform (possible by tweaking config.mk.in).

Cheers,
	Simon



More information about the Cvs-ghc mailing list