diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-07-31 07:42:20 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-07-31 07:42:20 +0000 |
commit | adc12574e555ec7d6ba3969eed4f829705c235ab (patch) | |
tree | caff1741b560ff8258ace64120781354e62b56c2 /include | |
parent | (_dl_allocate_static_tls): Don't return any value, call dl_signal_error direc... (diff) | |
download | glibc-adc12574e555ec7d6ba3969eed4f829705c235ab.tar.gz glibc-adc12574e555ec7d6ba3969eed4f829705c235ab.tar.bz2 glibc-adc12574e555ec7d6ba3969eed4f829705c235ab.zip |
Update.
2003-07-30 Jakub Jelinek <jakub@redhat.com>
* elf/dl-reloc.c (_dl_allocate_static_tls): Don't return any value,
call dl_signal_error directly. If already relocated, call
GL(dl_init_static_tls) directly, otherwise queue it for later.
(CHECK_STATIC_TLS): Undo 2003-07-24 change.
* elf/rtld.c (dl_main): Initialize GL(dl_init_static_tls).
* elf/dl-open.c (dl_open_worker): Call GL_dl_init_static_tls
for all static TLS initializations delayed in _dl_allocate_static_tls.
* elf/dl-support.c (_dl_init_static_tls): New variable.
* include/link.h (struct link_map): Add l_need_tls_init.
* sysdeps/generic/ldsodefs.h (_rtld_global): Add _dl_init_static_tls.
(_dl_nothread_init_static_tls): New prototype.
(_dl_allocate_static_tls): Adjust prototype.
* elf/tls-macros.h (VAR_INT_DEF): Add alignment directive.
elf_machine_rela_relative): Adjust.
(CHECK_STATIC_TLS): _dl_allocate_static_tls can fail now.
Diffstat (limited to 'include')
-rw-r--r-- | include/link.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/link.h b/include/link.h index cd66222795..5d10bd6679 100644 --- a/include/link.h +++ b/include/link.h @@ -186,7 +186,9 @@ struct link_map the l_libname list. */ unsigned int l_faked:1; /* Nonzero if this is a faked descriptor without associated file. */ - + unsigned int l_need_tls_init:1; /* Nonzero if GL(dl_init_static_tls) + should be called on this link map + when relocation finishes. */ /* Array with version names. */ unsigned int l_nversions; struct r_found_version *l_versions; |