about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-11-06 01:12:33 +0000
committerUlrich Drepper <drepper@redhat.com>2007-11-06 01:12:33 +0000
commitb92e378086449e2707b8b2fd3d2f50cc0b8871e9 (patch)
treecc81132e476407f88d3262e6d07472079073e761
parent94a749f69ad4b18250e9aab7292b6e8496e0a065 (diff)
downloadglibc-b92e378086449e2707b8b2fd3d2f50cc0b8871e9.tar.gz
glibc-b92e378086449e2707b8b2fd3d2f50cc0b8871e9.tar.xz
glibc-b92e378086449e2707b8b2fd3d2f50cc0b8871e9.zip
* elf/rtld.c (dl_main): Use the page size to find the map start.
-rw-r--r--ChangeLog4
-rw-r--r--elf/rtld.c3
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/sysdeps/unix/sysv/linux/register-atfork.c3
4 files changed, 12 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 92e1e5ab26..e6d92a9312 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-11-05  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* elf/rtld.c (dl_main): Use the page size to find the map start.
+
 2007-11-05  Ulrich Drepper  <drepper@redhat.com>
 
 	* time/tzfile.c (__tzfile_read): Fix check for version 0 data files.
diff --git a/elf/rtld.c b/elf/rtld.c
index 6df81fb2c1..98817d9fa0 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -1166,7 +1166,8 @@ of this helper program; chances are you did not intend to run this program.\n\
 	  ElfW(Addr) allocend;
 
 	  /* Remember where the main program starts in memory.  */
-	  mapstart = (main_map->l_addr + (ph->p_vaddr & ~(ph->p_align - 1)));
+	  mapstart = (main_map->l_addr
+		      + (ph->p_vaddr & ~(GLRO(dl_pagesize) - 1)));
 	  if (main_map->l_map_start > mapstart)
 	    main_map->l_map_start = mapstart;
 
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 6461785669..c92e6abf45 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,8 @@
+2007-11-05  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/register-atfork.c (__register_atfork):
+	Use __linkin_atfork.
+
 2007-11-03  Mike Frysinger  <vapier@gentoo.org>
 
 	* sysdeps/unix/sysv/linux/sh/lowlevellock.S (LOAD_FUTEX_WAIT): Add
diff --git a/nptl/sysdeps/unix/sysv/linux/register-atfork.c b/nptl/sysdeps/unix/sysv/linux/register-atfork.c
index 71abd0fb96..bd103295fb 100644
--- a/nptl/sysdeps/unix/sysv/linux/register-atfork.c
+++ b/nptl/sysdeps/unix/sysv/linux/register-atfork.c
@@ -98,8 +98,7 @@ __register_atfork (prepare, parent, child, dso_handle)
       newp->child_handler = child;
       newp->dso_handle = dso_handle;
 
-      newp->next = __fork_handlers;
-      __fork_handlers = newp;
+      __linkin_atfork (newp);
     }
 
   /* Release the lock.  */