Fix missing reloc dependency
authorUlrich Drepper <drepper@redhat.com>
Mon, 28 Sep 2009 10:19:58 +0000 (03:19 -0700)
committerUlrich Drepper <drepper@redhat.com>
Mon, 28 Sep 2009 10:19:58 +0000 (03:19 -0700)
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.

ChangeLog
elf/dl-reloc.c

index 5dcdbfc..db2c0a1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+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.
+
 2009-09-28  Samuel Thibault  <samuel.thibault@ens-lyon.org>
 
        * bits/termios.h [__USE_UNIX98] (IXANY): Define macro.
index 680caad..6c00691 100644 (file)
@@ -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)