about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--elf/dl-load.c4
-rw-r--r--linuxthreads/ChangeLog4
-rw-r--r--linuxthreads/internals.h1
4 files changed, 13 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 0660ad33e0..1a02630d7d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+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.
+
 2004-12-11  Ulrich Drepper  <drepper@redhat.com>
 
 	* malloc/malloc.c (_int_realloc): Add checks for corrupted memory.
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.  */
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 261b5db6a2..beaad8c6c5 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,7 @@
+2004-12-12  Ulrich Drepper  <drepper@redhat.com>
+
+	* internals.h: Include <stdbool.h> to match includes used in nptl.
+
 2004-12-01  Jakub Jelinek  <jakub@redhat.coM.
 
 	* sysdeps/unix/sysv/linux/bits/posix_opt.h (_POSIX_CPUTIME,
diff --git a/linuxthreads/internals.h b/linuxthreads/internals.h
index b35a430c69..605021766c 100644
--- a/linuxthreads/internals.h
+++ b/linuxthreads/internals.h
@@ -21,6 +21,7 @@
 
 #include <limits.h>
 #include <signal.h>
+#include <stdbool.h>
 #include <unistd.h>
 #include <stackinfo.h>
 #include <sigcontextinfo.h>