[uClibc-cvs] CVS update of uClibc/ldso/ldso (dl-elf.c)

Joakim Tjernlund jocke at codepoet.org
Tue Aug 10 09:50:08 UTC 2004


    Date: Tuesday, August 10, 2004 @ 03:50:08
  Author: jocke
    Path: /var/cvs/uClibc/ldso/ldso

Modified: dl-elf.c (1.75 -> 1.76)

Mike Frysinger writes:
i was sticking some libraries in non-standard (i.e. not-hardcoded) paths and 
then updating ld.so.conf accordingly ... oddly though, i couldnt get binaries 
that linked against those libraries to run ... `ldconfig -v` showed the 
required libraries being detected/cached, so something seemed wrong ...

turns out the libraries were being tagged as LIB_ELF_LIBC0 in the cache and 
the loader currently only accepts LIB_ELF_LIBC{5,6} ... since readsoname.c in 
ldconfig defines needed_tab with the mapping 'libc.so.0' -> LIB_ELF_LIBC0 it 
seems like the loader should accept this type too

find attached a small patch which adds LIB_ELF_LIBC0 along side 
LIB_ELF_LIBC{5,6} as an accepted lib type in the loader when dealing with the 
ld.so.cache file


Index: uClibc/ldso/ldso/dl-elf.c
diff -u uClibc/ldso/ldso/dl-elf.c:1.75 uClibc/ldso/ldso/dl-elf.c:1.76
--- uClibc/ldso/ldso/dl-elf.c:1.75	Fri Aug  6 10:12:10 2004
+++ uClibc/ldso/ldso/dl-elf.c	Tue Aug 10 03:50:07 2004
@@ -329,6 +329,7 @@
 #endif
 		for (i = 0; i < header->nlibs; i++) {
 			if ((libent[i].flags == LIB_ELF ||
+						libent[i].flags == LIB_ELF_LIBC0 ||
 						libent[i].flags == LIB_ELF_LIBC5) &&
 					_dl_strcmp(libname, strs + libent[i].sooffset) == 0 &&
 					(tpnt1 = _dl_load_elf_shared_library(secure,



More information about the uClibc-cvs mailing list