From cdc5c74c6abdb47453f2f7a170ed88b88698dee7 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Wed, 16 Jan 2013 11:47:35 -0500 Subject: [PATCH] fix bug in dladdr that prevented resolving addresses in the PLT --- src/ldso/dynlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; -- 2.20.1