From 299601a1ef8df4532ded24194c4556e294ab1e6e Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 25 Apr 2003 09:12:43 +0000 Subject: Update. 2003-04-22 Jakub Jelinek * include/link.h (NO_TLS_OFFSET): Define to 0 if not defined. * elf/dl-close.c (_dl_close): Use NO_TLS_OFFSET. * elf/dl-object.c (_dl_new_object): Initialize l_tls_offset to NO_TLS_OFFSET. * elf/rtld.c (_dl_start_final, _dl_start): Likewise. * elf/dl-reloc.c (CHECK_STATIC_TLS): Use NO_TLS_OFFSET. * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Likewise. * sysdeps/powerpc/dl-tls.h (TLS_TPREL_VALUE): Don't subtract TLS_TCB_SIZE. --- elf/rtld.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'elf/rtld.c') diff --git a/elf/rtld.c b/elf/rtld.c index bd66149dd1..9d2a94c492 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -233,6 +233,9 @@ _dl_start_final (void *arg, struct dl_start_final_info *info) GL(dl_rtld_map).l_tls_modid = 1; # else assert (info->l.l_tls_modid == 0); +# if NO_TLS_OFFSET != 0 + GL(dl_rtld_map).l_tls_offset = NO_TLS_OFFSET; +# endif # endif #endif @@ -316,6 +319,10 @@ _dl_start (void *arg) bootstrap_map.l_ld = (void *) bootstrap_map.l_addr + elf_machine_dynamic (); elf_get_dynamic_info (&bootstrap_map); +#if defined USE_TLS && NO_TLS_OFFSET != 0 + bootstrap_map.l_tls_offset = NO_TLS_OFFSET; +#endif + #if USE___THREAD /* Get the dynamic linker's own program header. First we need the ELF file header. The `_begin' symbol created by the linker script points -- cgit 1.4.1