summaryrefslogtreecommitdiff
path: root/ldso/libdl
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2002-05-02 13:36:53 +0000
committerEric Andersen <andersen@codepoet.org>2002-05-02 13:36:53 +0000
commit4a5a81ac165c040935a8807a580db49d381dc443 (patch)
tree7fcd5458f95399731b537e1cfd22538ee2d03c19 /ldso/libdl
parent776eae615326f6439734b05fa39c335bf2dc681b (diff)
Patch from Steven J. Hill <sjhill@realitydiluted.com>:
I am very pleased to announce that the MIPS dynamic linker/loader for uClibc is now working. It works on big and little endian platforms. A few minor changes were needed to avoid breaking ldd, and since this makes some non-trivial changes, I have tested on x86, arm, and powerpc to be sure thoese arches didn't get broken. Excellent work Steven!
Diffstat (limited to 'ldso/libdl')
-rw-r--r--ldso/libdl/dlib.c6
-rw-r--r--ldso/libdl/libdl.c6
2 files changed, 6 insertions, 6 deletions
diff --git a/ldso/libdl/dlib.c b/ldso/libdl/dlib.c
index 901613f30..1977e635c 100644
--- a/ldso/libdl/dlib.c
+++ b/ldso/libdl/dlib.c
@@ -108,7 +108,7 @@ void *_dlopen(char *libname, int flag)
tfrom = tpnt;
}
- if (!(tpnt = _dl_load_shared_library(0, tfrom, libname))) {
+ if (!(tpnt = _dl_load_shared_library(0, &rpnt, tfrom, libname))) {
#ifdef USE_CACHE
_dl_unmap_cache();
#endif
@@ -145,7 +145,7 @@ void *_dlopen(char *libname, int flag)
{
lpnt = tcurr->loadaddr + tcurr->dynamic_info[DT_STRTAB] +
dpnt->d_un.d_val;
- if(!(tpnt1 = _dl_load_shared_library(0, tcurr, lpnt)))
+ if(!(tpnt1 = _dl_load_shared_library(0, &rpnt, tcurr, lpnt)))
goto oops;
rpnt->next = (struct dyn_elf *) malloc(sizeof(struct dyn_elf));
@@ -304,7 +304,7 @@ void *_dlsym(void *vhandle, char *name)
}
}
- ret = _dl_find_hash(name, handle, 1, NULL, 1);
+ ret = _dl_find_hash(name, handle, NULL, 1);
/*
* Nothing found.
diff --git a/ldso/libdl/libdl.c b/ldso/libdl/libdl.c
index 901613f30..1977e635c 100644
--- a/ldso/libdl/libdl.c
+++ b/ldso/libdl/libdl.c
@@ -108,7 +108,7 @@ void *_dlopen(char *libname, int flag)
tfrom = tpnt;
}
- if (!(tpnt = _dl_load_shared_library(0, tfrom, libname))) {
+ if (!(tpnt = _dl_load_shared_library(0, &rpnt, tfrom, libname))) {
#ifdef USE_CACHE
_dl_unmap_cache();
#endif
@@ -145,7 +145,7 @@ void *_dlopen(char *libname, int flag)
{
lpnt = tcurr->loadaddr + tcurr->dynamic_info[DT_STRTAB] +
dpnt->d_un.d_val;
- if(!(tpnt1 = _dl_load_shared_library(0, tcurr, lpnt)))
+ if(!(tpnt1 = _dl_load_shared_library(0, &rpnt, tcurr, lpnt)))
goto oops;
rpnt->next = (struct dyn_elf *) malloc(sizeof(struct dyn_elf));
@@ -304,7 +304,7 @@ void *_dlsym(void *vhandle, char *name)
}
}
- ret = _dl_find_hash(name, handle, 1, NULL, 1);
+ ret = _dl_find_hash(name, handle, NULL, 1);
/*
* Nothing found.