mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-22 14:12:26 +00:00
47 lines
1.7 KiB
Diff
47 lines
1.7 KiB
Diff
|
diff -urpN uClibc-ng-1.0.22.orig/ldso/ldso/dl-elf.c uClibc-ng-1.0.22/ldso/ldso/dl-elf.c
|
||
|
--- uClibc-ng-1.0.22.orig/ldso/ldso/dl-elf.c 2017-03-14 12:17:57.754063532 -0700
|
||
|
+++ uClibc-ng-1.0.22/ldso/ldso/dl-elf.c 2017-03-14 17:14:21.846398236 -0700
|
||
|
@@ -307,6 +307,19 @@ struct elf_resolve *_dl_load_shared_libr
|
||
|
}
|
||
|
}
|
||
|
#endif
|
||
|
+
|
||
|
+#ifdef LDSO_MULTILIB_DIR
|
||
|
+ /* If multilib directory is selected, search it before falling back to
|
||
|
+ standard lib directories. */
|
||
|
+ _dl_if_debug_dprint("\tsearching multilib lib path list\n");
|
||
|
+ tpnt1 = search_for_named_library(libname, rflags,
|
||
|
+ UCLIBC_RUNTIME_PREFIX LDSO_MULTILIB_DIR ":"
|
||
|
+ UCLIBC_RUNTIME_PREFIX "usr" LDSO_MULTILIB_DIR,
|
||
|
+ rpnt, NULL);
|
||
|
+ if (tpnt1 != NULL)
|
||
|
+ return tpnt1;
|
||
|
+#endif
|
||
|
+
|
||
|
#if defined SHARED && defined __LDSO_SEARCH_INTERP_PATH__
|
||
|
/* Look for libraries wherever the shared library loader
|
||
|
* was installed */
|
||
|
@@ -315,6 +328,7 @@ struct elf_resolve *_dl_load_shared_libr
|
||
|
if (tpnt1 != NULL)
|
||
|
return tpnt1;
|
||
|
#endif
|
||
|
+
|
||
|
/* Lastly, search the standard list of paths for the library.
|
||
|
This list must exactly match the list in uClibc/ldso/util/ldd.c */
|
||
|
_dl_if_debug_dprint("\tsearching full lib path list\n");
|
||
|
diff -urpN uClibc-ng-1.0.22.orig/ldso/ldso/Makefile.in uClibc-ng-1.0.22/ldso/ldso/Makefile.in
|
||
|
--- uClibc-ng-1.0.22.orig/ldso/ldso/Makefile.in 2017-03-14 12:17:57.754063532 -0700
|
||
|
+++ uClibc-ng-1.0.22/ldso/ldso/Makefile.in 2017-03-14 15:35:35.277104175 -0700
|
||
|
@@ -34,6 +34,11 @@ CFLAGS-$(DODEBUG)-ldso/ldso := -O2 -g
|
||
|
|
||
|
CFLAGS-ldso.c := -DLDSO_ELFINTERP=\"$(TARGET_ARCH)/elfinterp.c\"
|
||
|
|
||
|
+# Search non-default multilib directories
|
||
|
+ifneq ($(MULTILIB_DIR),lib)
|
||
|
+CFLAGS-ldso.c += -DLDSO_MULTILIB_DIR=\"$(MULTILIB_DIR)\"
|
||
|
+endif
|
||
|
+
|
||
|
ifeq ($(TARGET_ARCH),arc)
|
||
|
CFLAGS-ldso.c += -mno-long-calls
|
||
|
endif
|