diff options
author | Eric Andersen <andersen@codepoet.org> | 2002-05-02 13:36:53 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2002-05-02 13:36:53 +0000 |
commit | 4a5a81ac165c040935a8807a580db49d381dc443 (patch) | |
tree | 7fcd5458f95399731b537e1cfd22538ee2d03c19 /ldso/libdl | |
parent | 776eae615326f6439734b05fa39c335bf2dc681b (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.c | 6 | ||||
-rw-r--r-- | ldso/libdl/libdl.c | 6 |
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. |