From: Rich Felker Date: Wed, 16 Jan 2013 16:47:35 +0000 (-0500) Subject: fix bug in dladdr that prevented resolving addresses in the PLT X-Git-Tag: v0.9.9~9 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=cdc5c74c6abdb47453f2f7a170ed88b88698dee7;p=oweals%2Fmusl.git fix bug in dladdr that prevented resolving addresses in the PLT --- diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index 782e979f..4ce1c3e8 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -1188,7 +1188,7 @@ int __dladdr(void *addr, Dl_info *info) } for (; nsym; nsym--, sym++) { - if (sym->st_shndx && sym->st_value + if (sym->st_value && (1<<(sym->st_info&0xf) & OK_TYPES) && (1<<(sym->st_info>>4) & OK_BINDS)) { void *symaddr = p->base + sym->st_value;