diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-02-11 02:27:43 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-02-11 02:27:43 +0000 |
commit | 7670e25ad5ac4e72b3fb63ea5e99159d30054d6f (patch) | |
tree | d54424b2aa9db97bbb921daf9cb27ef49962bcfe /elf | |
parent | 7331ca4db23f3b43686be221277cb9ed6fea2511 (diff) | |
download | glibc-7670e25ad5ac4e72b3fb63ea5e99159d30054d6f.tar.gz glibc-7670e25ad5ac4e72b3fb63ea5e99159d30054d6f.tar.xz glibc-7670e25ad5ac4e72b3fb63ea5e99159d30054d6f.zip |
Update.
* elf/do-lookup.h (FCT): st_value can be zero for STT_TLS symbols.
Diffstat (limited to 'elf')
-rw-r--r-- | elf/do-lookup.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/elf/do-lookup.h b/elf/do-lookup.h index cebc2ce300..3e7290241b 100644 --- a/elf/do-lookup.h +++ b/elf/do-lookup.h @@ -77,10 +77,12 @@ FCT (const char *undef_name, unsigned long int hash, const ElfW(Sym) *ref, sym = &symtab[symidx]; assert (ELF_RTYPE_CLASS_PLT == 1); - if (sym->st_value == 0 || /* No value. */ - /* ((type_class & ELF_RTYPE_CLASS_PLT) - && (sym->st_shndx == SHN_UNDEF)) */ - (type_class & (sym->st_shndx == SHN_UNDEF))) + if ((sym->st_value == 0 /* No value. */ +#ifdef USE_TLS + && ELFW(ST_TYPE) (sym->st_info) != STT_TLS +#endif + ) + || (type_class & (sym->st_shndx == SHN_UNDEF))) continue; if (ELFW(ST_TYPE) (sym->st_info) > STT_FUNC |