From 63ed86a37f94af5599d93813cc22be7be23f016a Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 26 Oct 2010 13:01:46 -0400 Subject: Fix assertion in ld.so, introduced by delayed adding to global list. (cherry picked from commit fa41c84d73be804639ecb2250f0b793b1a6f765e) --- ChangeLog | 5 +++++ elf/rtld.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b097f0bc38..2d07ad1b4f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-10-26 Ulrich Drepper + + * elf/rtld.c (dl_main): Move assertion after the point where rtld map + is added to the list. + 2010-10-24 Ulrich Drepper [BZ #12140] diff --git a/elf/rtld.c b/elf/rtld.c index 48536c740e..b451ab54f2 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 -- cgit 1.4.1