Explorar el Código

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.
Rich Felker hace 10 años
padre
commit
97b72d22ad
Se han modificado 1 ficheros con 1 adiciones y 1 borrados
  1. 1 1
      src/ldso/dynlink.c

+ 1 - 1
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);