From: Roland McGrath Date: Wed, 16 Feb 2005 09:47:36 +0000 (+0000) Subject: 2005-01-05 Steven Munroe X-Git-Tag: cvs/fedora-glibc-2_3-20050216T1256~68 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=36ffaa53b4d217f6611ebeb303b443bfca2ca72f;p=thirdparty%2Fglibc.git 2005-01-05 Steven Munroe [BZ #729] * elf/rtld.c (dl_main) [NEED_DL_SYSINFO_DSO]: Insure l_map_end and l_text_end are set for a VDSO with a single PT_LOAD entry. --- diff --git a/elf/rtld.c b/elf/rtld.c index cd40f800881..854b96b3b8b 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -1304,9 +1304,9 @@ ERROR: ld.so: object '%s' from %s cannot be preloaded: ignored.\n", { if (! l->l_addr) l->l_addr = ph->p_vaddr; - else if (ph->p_vaddr + ph->p_memsz >= l->l_map_end) + if (ph->p_vaddr + ph->p_memsz >= l->l_map_end) l->l_map_end = ph->p_vaddr + ph->p_memsz; - else if ((ph->p_flags & PF_X) + if ((ph->p_flags & PF_X) && ph->p_vaddr + ph->p_memsz >= l->l_text_end) l->l_text_end = ph->p_vaddr + ph->p_memsz; }