diff options
author | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2005-06-01 14:08:13 +0000 |
---|---|---|
committer | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2005-06-01 14:08:13 +0000 |
commit | 61c12b27780e5aec8d4535d5d35bf58765ef4c26 (patch) | |
tree | 373e68bf37c406c4afaae36c359aaee0c6de869d /ldso/libdl | |
parent | b18efa341f7a5645666ff7839edfd86fc821fee7 (diff) |
Initial support for both RUNPATH support.
RPATH sematics changed to match RUNPATH. Only difference is
that RPATH is searched before LD_LIBRARY_PATH and RUNPATH
after. This is not complete but better than the current mess(I think).
Diffstat (limited to 'ldso/libdl')
-rw-r--r-- | ldso/libdl/libdl.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/ldso/libdl/libdl.c b/ldso/libdl/libdl.c index 0c744c210..78da63c38 100644 --- a/ldso/libdl/libdl.c +++ b/ldso/libdl/libdl.c @@ -128,7 +128,7 @@ void __attribute__ ((destructor)) dl_cleanup(void) void *dlopen(const char *libname, int flag) { - struct elf_resolve *tpnt, *tfrom, *tcurr=NULL; + struct elf_resolve *tpnt, *tfrom; struct dyn_elf *dyn_chain, *rpnt = NULL, *dyn_ptr, *relro_ptr, *handle; struct dyn_elf *dpnt; ElfW(Addr) from; @@ -155,7 +155,7 @@ void *dlopen(const char *libname, int flag) /* * Try and locate the module we were called from - we - * need this so that we get the correct RPATH. Note that + * need this so that we get the correct RPATH/RUNPATH. Note that * this is the current behavior under Solaris, but the * ABI+ specifies that we should only use the RPATH from * the application. Thus this may go away at some time @@ -239,7 +239,7 @@ void *dlopen(const char *libname, int flag) fprintf(stderr, "Trying to load '%s', needed by '%s'\n", lpntstr, runp->tpnt->libname); #endif - tpnt1 = _dl_load_shared_library(0, &rpnt, tcurr, lpntstr, 0); + tpnt1 = _dl_load_shared_library(0, &rpnt, runp->tpnt, lpntstr, 0); if (!tpnt1) goto oops; |