This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Fix missing reloc dependency
- From: Andreas Schwab <schwab at redhat dot com>
- To: libc-alpha at sourceware dot org
- Date: Fri, 25 Sep 2009 16:56:42 +0200
- Subject: Fix missing reloc dependency
When DL_LOOKUP_ADD_DEPENDENCY was introduced a few callers of
_dl_lookup_versioned_symbol were not properly adjusted. One of them
survived until now.
Andreas.
2009-09-25 Andreas Schwab <schwab@redhat.com>
* elf/dl-reloc.c (RESOLVE_MAP): Always pass
DL_LOOKUP_ADD_DEPENDENCY to _dl_lookup_symbol_x.
diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c
index 680caad..6c00691 100644
--- a/elf/dl-reloc.c
+++ b/elf/dl-reloc.c
@@ -254,14 +254,11 @@ _dl_relocate_object (struct link_map *l, struct r_scope_elem *scope[],
l->l_lookup_cache.type_class = _tc; \
l->l_lookup_cache.sym = (*ref); \
const struct r_found_version *v = NULL; \
- int flags = DL_LOOKUP_ADD_DEPENDENCY; \
if ((version) != NULL && (version)->hash != 0) \
- { \
- v = (version); \
- flags = 0; \
- } \
+ v = (version); \
_lr = _dl_lookup_symbol_x (strtab + (*ref)->st_name, l, (ref), \
- scope, v, _tc, flags, NULL); \
+ scope, v, _tc, \
+ DL_LOOKUP_ADD_DEPENDENCY, NULL); \
l->l_lookup_cache.ret = (*ref); \
l->l_lookup_cache.value = _lr; })) \
: l)
--
Andreas Schwab, schwab@redhat.com
GPG Key fingerprint = D4E8 DBE3 3813 BB5D FA84 5EC7 45C6 250E 6F00 984E
"And now for something completely different."