about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/ldsodefs.h13
-rw-r--r--sysdeps/mips/dl-machine.h3
2 files changed, 13 insertions, 3 deletions
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index 011391865f..5f586f2e3c 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -532,15 +532,24 @@ extern lookup_t _dl_lookup_symbol (const char *undef,
 				   struct link_map *undef_map,
 				   const ElfW(Sym) **sym,
 				   struct r_scope_elem *symbol_scope[],
-				   int type_class, int explicit)
+				   int type_class, int flags)
      internal_function;
 extern lookup_t _dl_lookup_symbol_internal (const char *undef,
 					    struct link_map *undef_map,
 					    const ElfW(Sym) **sym,
 					    struct r_scope_elem *symbol_scope[],
-					    int type_class, int explicit)
+					    int type_class, int flags)
      internal_function;
 
+enum
+  {
+    /* If necessary add dependency between user and provider object.  */
+    DL_LOOKUP_ADD_DEPENDENCY = 1,
+    /* Return most recent version instead of default version for
+       unversioned lookup.  */
+    DL_LOOKUP_RETURN_NEWEST = 2
+  };
+
 /* Lookup versioned symbol.  */
 extern lookup_t _dl_lookup_versioned_symbol (const char *undef,
 					     struct link_map *undef_map,
diff --git a/sysdeps/mips/dl-machine.h b/sysdeps/mips/dl-machine.h
index fcf37f6569..bc5e84fd86 100644
--- a/sysdeps/mips/dl-machine.h
+++ b/sysdeps/mips/dl-machine.h
@@ -307,7 +307,8 @@ __dl_runtime_resolve (ElfW(Word) sym_index,				      \
 	  }								      \
 	case 0:								      \
 	  value = _dl_lookup_symbol (strtab + sym->st_name, l, &sym,	      \
-				     l->l_scope, ELF_RTYPE_CLASS_PLT, 0);     \
+				     l->l_scope, ELF_RTYPE_CLASS_PLT,	      \
+				     DL_LOOKUP_ADD_DEPENDENCY);		      \
 	}								      \
 									      \
       /* Currently value contains the base load address of the object	      \