On Nov 9, 2010, at 11:55 AM, Walter Bright wrote: > > Jacob Carlborg wrote: >> It should work using getsectdatafromheader, that's what I changed when I >> added support for dynamic libraries to Tango. Have a look at the Tango code: >> http://dsource.org/projects/tango/browser/trunk/tango/core/rt/compiler/dmd/object_.d#L1270 >> and >> http://dsource.org/projects/tango/browser/trunk/tango/core/rt/compiler/dmd/darwin/Image.d#L103 >> . >> The file in the last link is completely made by me so you won't have to be >> afraid for looking at it. Or if you don't want to look at Tango source files >> at all you can look at this druntime change: >> http://www.dsource.org/projects/druntime/changeset/372 , to be more >> specific: >> http://www.dsource.org/projects/druntime/browser/trunk/src/rt/image.d?rev=372#L105 > > Thanks, Jacob! If you want to submit a patch to druntime that, for OSX, > eliminates the dependence on the begin and end sections, that would be > awesome.
The simplest (appropriate) fix for the way things work today would probably be to add a new compiler runtime routine like "extern (C) void[] rt_tlsseg()". Then all of the compiler-specific logic for TLS segment management can be moved into src/rt/memory.d (and possibly memory_osx.c). I've been meaning to do something about this code being in core.thread anyway, since it really is compiler-specific. _______________________________________________ phobos mailing list [email protected] http://lists.puremagic.com/mailman/listinfo/phobos
