diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-02-11 01:30:15 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-02-11 01:30:15 +0000 |
commit | f1cc669a8c8d1845e9fc350e52687f79ba6bd552 (patch) | |
tree | 7bcc0e1f9272f1e2ff85a53fad8e6e0f187f1e46 | |
parent | a330abe2cd2b8cf8dd78ba82dadeab725b41adae (diff) | |
download | glibc-f1cc669a8c8d1845e9fc350e52687f79ba6bd552.tar.gz |
Update.
* elf/dl-lookup.c: Include <tls.h>.
* elf/do-lookup.h (FCT): Don't discard STT_TLS symbols.
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | elf/dl-lookup.c | 1 | ||||
-rw-r--r-- | elf/do-lookup.h | 11 |
3 files changed, 12 insertions, 3 deletions
@@ -1,5 +1,8 @@ 2002-02-10 Ulrich Drepper <drepper@redhat.com> + * elf/dl-lookup.c: Include <tls.h>. + * elf/do-lookup.h (FCT): Don't discard STT_TLS symbols. + * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): More changes required by passing pointer to last element of the list. diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c index 8de301eaa8..521f032b2b 100644 --- a/elf/dl-lookup.c +++ b/elf/dl-lookup.c @@ -26,6 +26,7 @@ #include "dl-hash.h" #include <dl-machine.h> #include <bits/libc-lock.h> +#include <tls.h> #include <assert.h> diff --git a/elf/do-lookup.h b/elf/do-lookup.h index c316159fe1..cebc2ce300 100644 --- a/elf/do-lookup.h +++ b/elf/do-lookup.h @@ -83,9 +83,14 @@ FCT (const char *undef_name, unsigned long int hash, const ElfW(Sym) *ref, (type_class & (sym->st_shndx == SHN_UNDEF))) continue; - if (ELFW(ST_TYPE) (sym->st_info) > STT_FUNC) - /* Ignore all but STT_NOTYPE, STT_OBJECT and STT_FUNC entries - since these are no code/data definitions. */ + if (ELFW(ST_TYPE) (sym->st_info) > STT_FUNC +#ifdef USE_TLS + && ELFW(ST_TYPE) (sym->st_info) != STT_TLS +#endif + ) + /* Ignore all but STT_NOTYPE, STT_OBJECT and STT_FUNC + entries (and STT_TLS if TLS is supported) since these + are no code/data definitions. */ continue; if (sym != ref && strcmp (strtab + sym->st_name, undef_name)) |