From: Ulrich Drepper Date: Tue, 26 Oct 2010 17:01:46 +0000 (-0400) Subject: Fix assertion in ld.so, introduced by delayed adding to global list. X-Git-Tag: glibc-2.12.2~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=63ed86a37f94af5599d93813cc22be7be23f016a;p=thirdparty%2Fglibc.git Fix assertion in ld.so, introduced by delayed adding to global list. (cherry picked from commit fa41c84d73be804639ecb2250f0b793b1a6f765e) --- diff --git a/ChangeLog b/ChangeLog index b097f0bc389..2d07ad1b4fa 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 48536c740ed..b451ab54f2d 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