diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/generic/ldsodefs.h | 13 | ||||
-rw-r--r-- | sysdeps/mips/dl-machine.h | 3 |
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 \ |