diff options
author | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2004-08-26 14:00:04 +0000 |
---|---|---|
committer | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2004-08-26 14:00:04 +0000 |
commit | ee55de4929e149035712f805baeb391e121615a4 (patch) | |
tree | 711626100b96e6245e90fcab2427bb20a555d86d /ldso/ldso/dl-hash.c | |
parent | f8666418a90c3e1ebe5fe63d2249a16a1ca3190b (diff) |
Added test for RTLD_GLOBAL flag in _dl_find_hash().
Fixed a bug in libdl.c where the RTLD_GLOBAL was assigned
wronly.
Diffstat (limited to 'ldso/ldso/dl-hash.c')
-rw-r--r-- | ldso/ldso/dl-hash.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/ldso/ldso/dl-hash.c b/ldso/ldso/dl-hash.c index 109ee0e76..bac4a506a 100644 --- a/ldso/ldso/dl-hash.c +++ b/ldso/ldso/dl-hash.c @@ -173,6 +173,8 @@ char *_dl_find_hash(const char *name, struct dyn_elf *rpnt, int type_class) for (; rpnt; rpnt = rpnt->next) { tpnt = rpnt->dyn; + if (!(tpnt->rtld_flags & RTLD_GLOBAL)) + continue; /* Don't search the executable when resolving a copy reloc. */ if ((type_class & ELF_RTYPE_CLASS_COPY) && tpnt->libtype == elf_executable) continue; |