efec1d0c47
* elf/linux-compat.c (_init): Pass reloc_addr arg to _dl_lookup_symbol. * elf/dl-lookup.c (_dl_lookup_symbol): Use l_searchlist. * elf/dl-deps.c: New file. * elf/Makefile (rtld-routines): Add dl-deps. * elf/link.h: Declare _dl_map_object_deps, _dl_open. * elf/rtld.c (dl_main): Use _dl_map_object_deps. * elf/dlopen.c: Use _dl_open. * elf/rtld.c (dl_main): Remove BEFORE_RTLD variable and list frobnication based on its value. Detach RTLD_MAP from the chain if its l_opencount is zero after loading deps. * elf/dlfcn.h (RTLD_BINDING_MASK): New macro. * elf/link.h (struct link_map): Replace l_deps_loaded flag member with `struct link_map **l_searchlist' and `unsigned int l_nsearchlist'. * elf/dl-lookup.c (_dl_lookup_symbol): Make SYMBOL_SCOPE arg an array of two link_map ptrs. Search the maps in the l_searchlist of each elt that is not null. * elf/dl-reloc.c (_dl_relocate_object): Pass proper SCOPE array. * elf/dl-runtime.c: Likewise. * elf/dlsym.c: Likewise. * elf/rtld.c (dl_main): Likewise. * elf/dl-minimal.c (realloc): Support realloc of the block most recently returned by the minimal malloc. * intl/localealias.c, intl/dcgettext.c [_LIBC]: Define HAVE_ALLOCA. |
||
---|---|---|
.. | ||
.cvsignore | ||
dl-deps.c | ||
dl-error.c | ||
dl-fini.c | ||
dl-init.c | ||
dl-load.c | ||
dl-lookup.c | ||
dl-minimal.c | ||
dl-object.c | ||
dl-reloc.c | ||
dl-runtime.c | ||
dlclose.c | ||
dlerror.c | ||
dlfcn.h | ||
dlopen.c | ||
dlsym.c | ||
do-rel.h | ||
dynamic-link.h | ||
elf_hash.c | ||
elf.h | ||
ldd.sh.in | ||
libelf.h | ||
link.h | ||
linux-compat.c | ||
Makefile | ||
rtld.c | ||
sofini.c | ||
soinit.c |