From 4cb202902d23b3c487016e516c70640c774b90d8 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Fri, 17 Nov 1995 02:33:47 +0000 Subject: Thu Nov 16 06:07:49 1995 Roland McGrath * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start_cleanup): New function. (_dl_sysdep_start): Move cleanup code there. * Makeconfig (default-rpath): New variable. (link-libc): Use it. * elf/Makefile (ld.so): Pass -rpath=$(default-rpath). * elf/rtld.c (_dl_rpath): New variable. (_dl_start): Set it from rtld_map's DT_RPATH. Call _dl_setup_hash on rtld_map. (dl_main): Cache address of _exit in variable before relocating, and use that in later calls. Call _dl_sysdep_start_cleanup before relocating. Keep track of dependency order while loading; remove rtld_map from chain, and reinsert in proper order if there is a dependency on it. * sysdeps/generic/Makefile (make_siglist): Pass -DSIGNUM_H=... with config's signum.h location. * sysdeps/generic/make_siglist.c: Include SIGNUM_H to define signal numbers. (HAVE_STRSIGNAL, HAVE_PSIGNAL): Define these before including signame.c (main): Deansideclize output. * elf/dl-load.c (_dl_map_object): Use _dl_rpath variable in place of DEFAULT_RPATH macro. * elf/Makefile: Undo last change. * sysdeps/mach/hurd/dl-sysdep.c (free): Don't abort, just nop. --- elf/dl-load.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'elf/dl-load.c') diff --git a/elf/dl-load.c b/elf/dl-load.c index 126d6aa..88ee318 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -139,7 +139,10 @@ _dl_map_object (struct link_map *loader, const char *name) if (fd == -1 && ! _dl_secure) trypath (getenv ("LD_LIBRARY_PATH")); if (fd == -1) - trypath (DEFAULT_RPATH); + { + extern const char *_dl_rpath; /* Set in rtld.c. */ + trypath (_dl_rpath); + } } else { -- cgit v1.1