提交 4027f4e8 编写于 作者: R Rich Felker

fix error reporting for dlsym with global symbols

上级 db4096c5
......@@ -723,7 +723,7 @@ static void *do_dlsym(struct dso *p, const char *s, void *ra)
}
if (p == head || p == RTLD_DEFAULT) {
void *res = find_sym(head, s, 0);
if (!res) errflag = 1;
if (!res) goto failed;
return res;
}
h = hash(s);
......@@ -736,6 +736,7 @@ static void *do_dlsym(struct dso *p, const char *s, void *ra)
if (sym && sym->st_value && (1<<(sym->st_info&0xf) & OK_TYPES))
return p->deps[i]->base + sym->st_value;
}
failed:
errflag = 1;
snprintf(errbuf, sizeof errbuf, "Symbol not found: %s", s);
return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册