diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-12-12 21:06:37 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-12-12 21:06:37 +0000 |
commit | 410828e47a70317c39ef4ac1192d467a1cd0d48f (patch) | |
tree | ff5ff14855897039f0fef4e3f0d5f835266579f3 /elf/dl-load.c | |
parent | 76761b63787f4122ec87f257ec038aba9e7ab236 (diff) | |
download | glibc-410828e47a70317c39ef4ac1192d467a1cd0d48f.tar.gz glibc-410828e47a70317c39ef4ac1192d467a1cd0d48f.tar.xz glibc-410828e47a70317c39ef4ac1192d467a1cd0d48f.zip |
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/dl-load.c')
-rw-r--r-- | elf/dl-load.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/elf/dl-load.c b/elf/dl-load.c index ea287cddcc..eb1a7919fb 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. */ |