diff options
author | Ulrich Drepper <drepper@gmail.com> | 2010-10-26 13:01:46 -0400 |
---|---|---|
committer | Andreas Schwab <schwab@redhat.com> | 2010-12-01 15:35:16 +0100 |
commit | 63ed86a37f94af5599d93813cc22be7be23f016a (patch) | |
tree | faceae073c7409f1aca3079cf3a0f195a147a995 | |
parent | e939403de10e923627043a795051b63ad46e5168 (diff) | |
download | glibc-63ed86a37f94af5599d93813cc22be7be23f016a.tar.gz glibc-63ed86a37f94af5599d93813cc22be7be23f016a.tar.xz glibc-63ed86a37f94af5599d93813cc22be7be23f016a.zip |
Fix assertion in ld.so, introduced by delayed adding to global list.
(cherry picked from commit fa41c84d73be804639ecb2250f0b793b1a6f765e)
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | elf/rtld.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index b097f0bc38..2d07ad1b4f 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-24 Ulrich Drepper <drepper@redhat.com> [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 |