|
@@ -227,7 +227,7 @@ struct elf_resolve *_dl_load_shared_library(int secure,
|
|
|
|
|
|
* Where should the cache be searched? There is no such concept in the
|
|
* Where should the cache be searched? There is no such concept in the
|
|
* ABI, so we have some flexibility here. For now, search it before
|
|
* ABI, so we have some flexibility here. For now, search it before
|
|
- * the default path of /usr/lib.
|
|
+ * the hard coded paths that follow (i.e before /lib and /usr/lib).
|
|
*/
|
|
*/
|
|
#ifdef USE_CACHE
|
|
#ifdef USE_CACHE
|
|
if (_dl_cache_addr != NULL && _dl_cache_addr != (caddr_t) - 1) {
|
|
if (_dl_cache_addr != NULL && _dl_cache_addr != (caddr_t) - 1) {
|
|
@@ -247,51 +247,57 @@ struct elf_resolve *_dl_load_shared_library(int secure,
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
|
|
-
|
|
+
|
|
-#ifdef UCLIBC_DEVEL
|
|
+ pnt1 = UCLIBC_INSTALL_DIR "/usr/lib/";
|
|
-
|
|
|
|
-
|
|
|
|
- pnt1 = UCLIBC_INSTALL_DIR "/lib";
|
|
|
|
pnt = mylibname;
|
|
pnt = mylibname;
|
|
while (*pnt1)
|
|
while (*pnt1)
|
|
- *pnt++ = *pnt1++;
|
|
+ *pnt++ = *pnt1++;
|
|
pnt1 = libname;
|
|
pnt1 = libname;
|
|
while (*pnt1)
|
|
while (*pnt1)
|
|
- *pnt++ = *pnt1++;
|
|
+ *pnt++ = *pnt1++;
|
|
*pnt++ = 0;
|
|
*pnt++ = 0;
|
|
tpnt1 = _dl_load_elf_shared_library(secure, mylibname, 0);
|
|
tpnt1 = _dl_load_elf_shared_library(secure, mylibname, 0);
|
|
if (tpnt1)
|
|
if (tpnt1)
|
|
- return tpnt1;
|
|
+ return tpnt1;
|
|
|
|
|
|
-#else
|
|
+
|
|
|
|
+ pnt1 = UCLIBC_INSTALL_DIR "/lib/";
|
|
|
|
+ pnt = mylibname;
|
|
|
|
+ while (*pnt1)
|
|
|
|
+ *pnt++ = *pnt1++;
|
|
|
|
+ pnt1 = libname;
|
|
|
|
+ while (*pnt1)
|
|
|
|
+ *pnt++ = *pnt1++;
|
|
|
|
+ *pnt++ = 0;
|
|
|
|
+ tpnt1 = _dl_load_elf_shared_library(secure, mylibname, 0);
|
|
|
|
+ if (tpnt1)
|
|
|
|
+ return tpnt1;
|
|
|
|
|
|
|
|
|
|
pnt1 = "/usr/lib/";
|
|
pnt1 = "/usr/lib/";
|
|
pnt = mylibname;
|
|
pnt = mylibname;
|
|
while (*pnt1)
|
|
while (*pnt1)
|
|
- *pnt++ = *pnt1++;
|
|
+ *pnt++ = *pnt1++;
|
|
pnt1 = libname;
|
|
pnt1 = libname;
|
|
while (*pnt1)
|
|
while (*pnt1)
|
|
- *pnt++ = *pnt1++;
|
|
+ *pnt++ = *pnt1++;
|
|
*pnt++ = 0;
|
|
*pnt++ = 0;
|
|
tpnt1 = _dl_load_elf_shared_library(secure, mylibname, 0);
|
|
tpnt1 = _dl_load_elf_shared_library(secure, mylibname, 0);
|
|
if (tpnt1)
|
|
if (tpnt1)
|
|
- return tpnt1;
|
|
+ return tpnt1;
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
pnt1 = "/lib/";
|
|
pnt1 = "/lib/";
|
|
pnt = mylibname;
|
|
pnt = mylibname;
|
|
while (*pnt1)
|
|
while (*pnt1)
|
|
- *pnt++ = *pnt1++;
|
|
+ *pnt++ = *pnt1++;
|
|
pnt1 = libname;
|
|
pnt1 = libname;
|
|
while (*pnt1)
|
|
while (*pnt1)
|
|
- *pnt++ = *pnt1++;
|
|
+ *pnt++ = *pnt1++;
|
|
*pnt++ = 0;
|
|
*pnt++ = 0;
|
|
tpnt1 = _dl_load_elf_shared_library(secure, mylibname, 0);
|
|
tpnt1 = _dl_load_elf_shared_library(secure, mylibname, 0);
|
|
if (tpnt1)
|
|
if (tpnt1)
|
|
- return tpnt1;
|
|
+ return tpnt1;
|
|
-#endif
|
|
|
|
|
|
|
|
goof:
|
|
goof:
|
|
|
|
|