mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
elf, nptl: Initialize static TLS directly in ld.so
The stack list is available in ld.so since commit
1daccf403b
("nptl: Move stack list
variables into _rtld_global"), so it's possible to walk the stack
list directly in ld.so and perform the initialization there.
This eliminates an unprotected function pointer from _rtld_global
and reduces the libpthread initialization code.
This commit is contained in:
@ -138,8 +138,6 @@ void *_dl_random;
|
||||
#include <dl-procruntime.c>
|
||||
#include <dl-procinfo.c>
|
||||
|
||||
void (*_dl_init_static_tls) (struct link_map *) = &_dl_nothread_init_static_tls;
|
||||
|
||||
size_t _dl_pagesize = EXEC_PAGESIZE;
|
||||
|
||||
size_t _dl_minsigstacksize = CONSTANT_MINSIGSTKSZ;
|
||||
@ -197,6 +195,7 @@ list_t _dl_stack_user;
|
||||
int _dl_stack_cache_lock;
|
||||
#else
|
||||
int _dl_thread_gscope_count;
|
||||
void (*_dl_init_static_tls) (struct link_map *) = &_dl_nothread_init_static_tls;
|
||||
#endif
|
||||
struct dl_scope_free_list *_dl_scope_free_list;
|
||||
|
||||
|
Reference in New Issue
Block a user