mirror of
git://sourceware.org/git/glibc.git
synced 2025-04-06 14:10:30 +08:00
Update.
* elf/dl-addr.c (_dl_addr): Don't look at STT_TLS symbols. Use DL_SYMBOL_ADDRESS to set dli_saddr.
This commit is contained in:
parent
0325dd20dd
commit
a019191bba
@ -1,5 +1,8 @@
|
||||
2004-10-19 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* elf/dl-addr.c (_dl_addr): Don't look at STT_TLS symbols.
|
||||
Use DL_SYMBOL_ADDRESS to set dli_saddr.
|
||||
|
||||
* debug/Makefile (catchsegv): Prefix $LIB with a backslash.
|
||||
|
||||
2004-10-19 Ulrich Drepper <drepper@redhat.com>
|
||||
|
@ -92,6 +92,9 @@ _dl_addr (const void *address, Dl_info *info,
|
||||
dynamic symbol table!! */
|
||||
for (matchsym = NULL; (void *) symtab < (void *) symtabend; ++symtab)
|
||||
if (addr >= match->l_addr + symtab->st_value
|
||||
#if defined USE_TLS
|
||||
&& ELFW(ST_TYPE) (symtab->st_info) != STT_TLS
|
||||
#endif
|
||||
&& ((symtab->st_size == 0
|
||||
&& addr == match->l_addr + symtab->st_value)
|
||||
|| addr < match->l_addr + symtab->st_value + symtab->st_size)
|
||||
@ -110,8 +113,10 @@ _dl_addr (const void *address, Dl_info *info,
|
||||
{
|
||||
/* We found a symbol close by. Fill in its name and exact
|
||||
address. */
|
||||
lookup_t matchl = LOOKUP_VALUE (match);
|
||||
|
||||
info->dli_sname = strtab + matchsym->st_name;
|
||||
info->dli_saddr = (void *) (match->l_addr + matchsym->st_value);
|
||||
info->dli_saddr = DL_SYMBOL_ADDRESS (matchl, matchsym);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user