summaryrefslogtreecommitdiff
path: root/ldso/libdl
diff options
context:
space:
mode:
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>2005-06-01 14:08:13 +0000
committerJoakim Tjernlund <joakim.tjernlund@transmode.se>2005-06-01 14:08:13 +0000
commit61c12b27780e5aec8d4535d5d35bf58765ef4c26 (patch)
tree373e68bf37c406c4afaae36c359aaee0c6de869d /ldso/libdl
parentb18efa341f7a5645666ff7839edfd86fc821fee7 (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.c6
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;