about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-03-06 00:01:50 -0500
committerUlrich Drepper <drepper@gmail.com>2011-03-06 00:01:50 -0500
commit6a5ee1029b3966c5ae9adaaa881e255b2880f511 (patch)
treeed53441b53a2292a0b85a16c7b1d2f022a4afce2
parent7e4ba49cd365555ddaff2ae8bba7b912464ad6e5 (diff)
downloadglibc-6a5ee1029b3966c5ae9adaaa881e255b2880f511.tar.gz
glibc-6a5ee1029b3966c5ae9adaaa881e255b2880f511.tar.xz
glibc-6a5ee1029b3966c5ae9adaaa881e255b2880f511.zip
Fix loading first object along a path when tracing.
-rw-r--r--ChangeLog5
-rw-r--r--elf/dl-load.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 821a58194f..f4750b1985 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-03-06  Ulrich Drepper  <drepper@gmail.com>
+
+	* elf/dl-load.c (_dl_map_object): If we are looking for the first
+	to-be-loaded object along a path to loader is ld.so.
+
 2011-03-02  Harsha Jagasia  <harsha.jagasia@amd.com>
 	    Ulrich Drepper  <drepper@gmail.com>
 
diff --git a/elf/dl-load.c b/elf/dl-load.c
index 1ad16a0d65..f8660665e0 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -2111,7 +2111,9 @@ _dl_map_object (struct link_map *loader, const char *name,
 	    {
 #ifdef SHARED
 	      // XXX Correct to unconditionally default to namespace 0?
-	      l = loader ?: GL(dl_ns)[LM_ID_BASE]._ns_loaded;
+	      l = (loader
+		   ?: GL(dl_ns)[LM_ID_BASE]._ns_loaded
+		   ?: &GL(dl_rtld_map));
 #else
 	      l = loader;
 #endif