From: Rich Felker Date: Tue, 21 Apr 2015 17:07:06 +0000 (-0400) Subject: remove redundant code in do_dlsym function X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=97b72d22ad53e8f1306bf8e943571b698058f49d;p=android-x86%2Fexternal-musl-libc.git remove redundant code in do_dlsym function commit 637dd2d383cc1f63bf02a732f03786857b22c7bd introduced the checks for RTLD_DEFAULT and RTLD_NEXT here, claiming they fixed a regression, but the above conditional block clearly already covered these cases, and removing the checks produces no difference in the generated code. --- diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index 62bfed8e..efb00496 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -1500,7 +1500,7 @@ static void *do_dlsym(struct dso *p, const char *s, void *ra) return __tls_get_addr((size_t []){def.dso->tls_id, def.sym->st_value}); return def.dso->base + def.sym->st_value; } - if (p != RTLD_DEFAULT && p != RTLD_NEXT && invalid_dso_handle(p)) + if (invalid_dso_handle(p)) return 0; if (p->ghashtab) { gh = gnu_hash(s);