diff options
author | Roland McGrath <roland@gnu.org> | 1995-11-17 02:33:47 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1995-11-17 02:33:47 +0000 |
commit | 4cb202902d23b3c487016e516c70640c774b90d8 (patch) | |
tree | b72eec9b2a05cae1051a8ef6a1d272c85d707f92 /elf/dl-load.c | |
parent | 8738e7f8b0c6d6254a31450dc528bddc8bdae0f7 (diff) | |
download | glibc-4cb202902d23b3c487016e516c70640c774b90d8.zip glibc-4cb202902d23b3c487016e516c70640c774b90d8.tar.gz glibc-4cb202902d23b3c487016e516c70640c774b90d8.tar.bz2 |
Thu Nov 16 06:07:49 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>cvs/libc-951117
* 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.
Diffstat (limited to 'elf/dl-load.c')
-rw-r--r-- | elf/dl-load.c | 5 |
1 files changed, 4 insertions, 1 deletions
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 { |