From 4a5a81ac165c040935a8807a580db49d381dc443 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Thu, 2 May 2002 13:36:53 +0000 Subject: Patch from Steven J. Hill : 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! --- ldso/libdl/dlib.c | 6 +++--- ldso/libdl/libdl.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'ldso/libdl') 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. -- cgit v1.2.3