aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2010-10-26 13:01:46 -0400
committerUlrich Drepper <drepper@gmail.com>2010-10-26 13:01:46 -0400
commitfa41c84d73be804639ecb2250f0b793b1a6f765e (patch)
tree0c0588180ff61e29e2a2168ab9f0191804051cee
parentc54ff5c67ea2b2a1235e066da27ffec48a40c566 (diff)
downloadglibc-fa41c84d73be804639ecb2250f0b793b1a6f765e.zip
glibc-fa41c84d73be804639ecb2250f0b793b1a6f765e.tar.gz
glibc-fa41c84d73be804639ecb2250f0b793b1a6f765e.tar.bz2
Fix assertion in ld.so, introduced by delayed adding to global list.
-rw-r--r--ChangeLog5
-rw-r--r--elf/rtld.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index d867f13..58ec05e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-10-26 Ulrich Drepper <drepper@gmail.com>
+
+ * elf/rtld.c (dl_main): Move assertion after the point where rtld map
+ is added to the list.
+
2010-10-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
Ulrich Drepper <drepper@gmail.com>
diff --git a/elf/rtld.c b/elf/rtld.c
index 23b3462..d53730f 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -1108,7 +1108,6 @@ of this helper program; chances are you did not intend to run this program.\n\
main_map = _dl_new_object ((char *) "", "", lt_executable, NULL,
__RTLD_OPENEXEC, LM_ID_BASE);
assert (main_map != NULL);
- assert (main_map == GL(dl_ns)[LM_ID_BASE]._ns_loaded);
main_map->l_phdr = phdr;
main_map->l_phnum = phnum;
main_map->l_entry = *user_entry;
@@ -1116,6 +1115,7 @@ of this helper program; chances are you did not intend to run this program.\n\
/* Even though the link map is not yet fully initialized we can add
it to the map list since there are no possible users running yet. */
_dl_add_to_namespace_list (main_map, LM_ID_BASE);
+ assert (main_map == GL(dl_ns)[LM_ID_BASE]._ns_loaded);
/* At this point we are in a bit of trouble. We would have to
fill in the values for l_dev and l_ino. But in general we