diff options
Diffstat (limited to 'elf/rtld.c')
-rw-r--r-- | elf/rtld.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/elf/rtld.c b/elf/rtld.c index cd40f80088..854b96b3b8 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; } |