about summary refs log tree commit diff
path: root/elf/dl-load.c
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/dl-load.c
parent76761b63787f4122ec87f257ec038aba9e7ab236 (diff)
downloadglibc-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.c4
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.  */