aboutsummaryrefslogtreecommitdiff
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>