aboutsummaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-12-12 21:06:37 +0000
committerUlrich Drepper <drepper@redhat.com>2004-12-12 21:06:37 +0000
commit410828e47a70317c39ef4ac1192d467a1cd0d48f (patch)
treeff5ff14855897039f0fef4e3f0d5f835266579f3 /elf
parent76761b63787f4122ec87f257ec038aba9e7ab236 (diff)
downloadglibc-410828e47a70317c39ef4ac1192d467a1cd0d48f.zip
glibc-410828e47a70317c39ef4ac1192d467a1cd0d48f.tar.gz
glibc-410828e47a70317c39ef4ac1192d467a1cd0d48f.tar.bz2
Update.
2004-12-12 Ulrich Drepper <drepper@redhat.com> * elf/dl-load.c (_dl_map_object_from_fd): Fix computation of mapping start. It must take the actual pagesize into account, not the alignment in the file.
Diffstat (limited to 'elf')
-rw-r--r--elf/dl-load.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/elf/dl-load.c b/elf/dl-load.c
index ea287cd..eb1a791 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -987,12 +987,12 @@ _dl_map_object_from_fd (const char *name, int fd, struct filebuf *fbp,
}
c = &loadcmds[nloadcmds++];
- c->mapstart = ph->p_vaddr & ~(ph->p_align - 1);
+ c->mapstart = ph->p_vaddr & ~(GLRO(dl_pagesize) - 1);
c->mapend = ((ph->p_vaddr + ph->p_filesz + GLRO(dl_pagesize) - 1)
& ~(GLRO(dl_pagesize) - 1));
c->dataend = ph->p_vaddr + ph->p_filesz;
c->allocend = ph->p_vaddr + ph->p_memsz;
- c->mapoff = ph->p_offset & ~(ph->p_align - 1);
+ c->mapoff = ph->p_offset & ~(GLRO(dl_pagesize) - 1);
/* Determine whether there is a gap between the last segment
and this one. */