diff options
author | Ulrich Drepper <drepper@redhat.com> | 2005-01-06 11:14:03 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2005-01-06 11:14:03 +0000 |
commit | ef07fd10d992d6af9657dbbd58b2465828bec516 (patch) | |
tree | f3254e11c98a3d12307d86e17506281a3e1ce00c /elf | |
parent | 1b99d99f0e7e7bfc690f260d16193f162dfda8cf (diff) | |
download | glibc-ef07fd10d992d6af9657dbbd58b2465828bec516.tar.gz glibc-ef07fd10d992d6af9657dbbd58b2465828bec516.tar.xz glibc-ef07fd10d992d6af9657dbbd58b2465828bec516.zip |
Update.
2005-01-05 Steven Munroe <sjmunroe@us.ibm.com> * 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.
Diffstat (limited to 'elf')
-rw-r--r-- | elf/rtld.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/elf/rtld.c b/elf/rtld.c index cd40f80088..de46956a6a 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -1,5 +1,5 @@ /* Run time dynamic linker. - Copyright (C) 1995-2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 1995-2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -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; } |