Browse Source

ldso: let people disable the implicit path search

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger 14 years ago
parent
commit
b65c7b2c79
2 changed files with 16 additions and 0 deletions
  1. 14 0
      extra/Configs/Config.in
  2. 2 0
      ldso/ldso/ldso.c

+ 14 - 0
extra/Configs/Config.in

@@ -352,6 +352,20 @@ config LDSO_RUNPATH
 	  Usage of RUNPATH tags is not too common, so disabling this feature
 	  should be safe for most people.
 
+config LDSO_SEARCH_INTERP_PATH
+	bool "Add ldso path to lib search path"
+	depends on HAVE_SHARED
+	default y
+	help
+	  The ldso is told where it is being executed from and can use that
+	  path to find related core libraries.  This is useful by default,
+	  but can be annoying in a mixed development environment.
+
+	  i.e. if the ldso is run from /foo/boo/ldso.so, it will start its
+	  library search with /foo/boo/
+
+	  If unsure, simply say Y here.
+
 config UCLIBC_CTOR_DTOR
 	bool "Support global constructors and destructors"
 	default y

+ 2 - 0
ldso/ldso/ldso.c

@@ -490,6 +490,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr,
 
 			tpnt->libname = (char *) DL_RELOC_ADDR(app_tpnt->loadaddr, ppnt->p_vaddr);
 
+#ifdef __LDSO_SEARCH_INTERP_PATH__
 			/* Store the path where the shared lib loader was found
 			 * for later use
 			 */
@@ -499,6 +500,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr,
 				*ptmp = '\0';
 
 			_dl_debug_early("Lib Loader: (%x) %s\n", (unsigned) DL_LOADADDR_BASE(tpnt->loadaddr), tpnt->libname);
+#endif
 		}
 
 		/* Discover any TLS sections if the target supports them. */