add RTLD_DEFAULT support

This commit is contained in:
Rich Felker 2011-06-26 21:50:01 -04:00
parent 0e4dae3d77
commit 97507bde47
1 changed files with 2 additions and 1 deletions

View File

@ -541,7 +541,8 @@ static void *do_dlsym(struct dso *p, const char *s)
size_t i; size_t i;
uint32_t h; uint32_t h;
Sym *sym; 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); h = hash(s);
sym = lookup(s, h, p->syms, p->hashtab, p->strings); sym = lookup(s, h, p->syms, p->hashtab, p->strings);
if (sym && sym->st_value && (1<<(sym->st_info&0xf) & OK_TYPES)) if (sym && sym->st_value && (1<<(sym->st_info&0xf) & OK_TYPES))