This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "uClibc-ng - small C library for embedded systems".
The branch, 1.0 has been updated via 9728de1929812df84749c9fb044f6f584e044199 (commit) from ff6ce3999db93a52d1cd22510f8508b660ddf54e (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- -----------------------------------------------------------------------
Summary of changes: extra/Configs/Config.in | 9 +++++++++ ldso/ldso/dl-elf.c | 12 ++++++++++++ 2 files changed, 21 insertions(+)
diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index cec06e4..c7a3b2d 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -420,6 +420,15 @@ config LDSO_RUNPATH Usage of RUNPATH tags is not too common, so disabling this feature should be safe for most people.
+config LDSO_RUNPATH_OF_EXECUTABLE + bool "Use executables RPATH/RUNPATH when searching for libraries." + depends on LDSO_RUNPATH + default n + help + Use the executables RPATH/RUNPATH to find to find libraries even + though this behavour is not standard. Setting this option causes + the uclibc dynamic linker behavour to match the glibc dynamic linker. + config LDSO_SAFE_RUNPATH bool "Allow only RUNPATH beginning with /" depends on LDSO_RUNPATH diff --git a/ldso/ldso/dl-elf.c b/ldso/ldso/dl-elf.c index 6fc95b3..d42b912 100644 --- a/ldso/ldso/dl-elf.c +++ b/ldso/ldso/dl-elf.c @@ -266,6 +266,18 @@ struct elf_resolve *_dl_load_shared_library(unsigned rflags, struct dyn_elf **rp if ((tpnt1 = search_for_named_library(libname, rflags, pnt, rpnt, NULL)) != NULL) return tpnt1; } +#ifdef __LDSO_RUNPATH_OF_EXECUTABLE__ + /* + * Try the DT_RPATH of the executable itself. + */ + pnt = (char *) _dl_loaded_modules->dynamic_info[DT_RPATH]; + if (pnt) { + pnt += (unsigned long) _dl_loaded_modules->dynamic_info[DT_STRTAB]; + _dl_if_debug_dprint("\tsearching exe's RPATH='%s'\n", pnt); + if ((tpnt1 = search_for_named_library(libname, rflags, pnt, rpnt)) != NULL) + return tpnt1; + } +#endif #endif
/*
hooks/post-receive