Revert, init-exec in combination with initalised TLS variables is notsupported.
Force use of static TLS space.
Introduce __HAVE_NO___THREAD for sun2 and vax to disable the TLS usage.Require __HAVE_TLS_VARIANT_I or __HAVE_TLS_VARIANT_II as well as__lwp_getprivate_fast / __lwp_gettcb_fast to exist for libpthr
Introduce __HAVE_NO___THREAD for sun2 and vax to disable the TLS usage.Require __HAVE_TLS_VARIANT_I or __HAVE_TLS_VARIANT_II as well as__lwp_getprivate_fast / __lwp_gettcb_fast to exist for libpthread.Define VAX as going to use TLS variant I, if it is ever implemented.
show more ...
FreeBSD bug report 161344: TLS area for the main thread is set up toearly, if e.g. pointers to functions are used as initializers.
Add TLS support infrastructure. For dynamic binaries, ld.elf_so exports_rtld_tls_allocate and _rtld_tls_free. libpthread uses this functions tosetup the thread private area of all new threads. ld.e
Add TLS support infrastructure. For dynamic binaries, ld.elf_so exports_rtld_tls_allocate and _rtld_tls_free. libpthread uses this functions tosetup the thread private area of all new threads. ld.elf_so isresponsible for setting up the private area for the initial thread.Similar functions are called from _libc_init for static binaries, usingdl_iterate_phdr to access the ELF Program Header.Add test cases to exercise the different TLS storage models. Test casesare compiled and installed on all platforms, but are skipped onplatforms not marked for TLS support.This material is based upon work partially supported byThe NetBSD Foundation under a contract with Joerg Sonnenberger.It is inspired by the TLS support in FreeBSD by Doug Rabson and theclean ups of the DragonFly port of the original FreeBSD modifications.