see my answer to you there.. On Tue, 17 Jun 2003, Marcel Moolenaar wrote: > On Tue, Jun 17, 2003 at 03:34:15PM -0700, Julian Elischer wrote: > > > > Ok, so having thrashed out what is required on the threads list > > (and severely strained (but hopefully not permanently) our relations > > with the OpenGL folks) we've figured out that we do need to support > > __thread (if we don't we'll miss out on alot). > > > > I have basicaly worked out what we need to do > > (Generarlly we do the same as solaris does) to support this.. > > The question is, what do we need to do for gcc and the loader > > to support this..? > > > > I guess the support is in gcc as Linux and solaris use it, but > > is our linker close enough to what they use to be able to benefit at all > > from them? > > >From my posting to threads_at_: > > \begin{quote} > ... To support the __thread > keyword, our thread library needs to create the TLS as defined in the > binary and its dependent shared libraries by virtue of the .tdata and > .tbss sections/segments, based on the image of the TLS as constructed > by the RTLD for the initial set of modules (created for the initial > thread) and amended by TLS space defined in the dynamicly loaded > libraries; and the TLS has to be created for every new thread at the > time the thread itself is created. This TLS allocation has to be made > accessable in accordance with runtime specifications for the supported > architectures (libthr: i386 & ia64; libkse: i386 currently -- more to > follow) and in line with the access sequences created by the compiler, > and using the static relocations known to the static linker and dynamic > relocations of which the support needs to be added to RTLD. > > The static TLS model requires the least amount of work: add support > to allocate the TLS image for every thread creation and point the > thread pointer to it in a way compatible with the runtime spec. > > The dynamic TLS model requires more substantial changes and involves > RTLD as well. This is the model that requires __tls_get_addr(). > \end{quote} > > HTH, > > -- > Marcel Moolenaar USPA: A-39004 marcel_at_xcllnt.net > _______________________________________________ > freebsd-current_at_freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" >Received on Tue Jun 17 2003 - 14:41:10 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:12 UTC