diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index a23390e1..1cab8d12 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -541,7 +541,8 @@ static void *do_dlsym(struct dso *p, const char *s) size_t i; uint32_t h; Sym *sym; - if (p == head) return find_sym(head, s, 0); + if (p == head || p == RTLD_DEFAULT) + return find_sym(head, s, 0); h = hash(s); sym = lookup(s, h, p->syms, p->hashtab, p->strings); if (sym && sym->st_value && (1<<(sym->st_info&0xf) & OK_TYPES))