about summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-01-14 00:24:36 +0000
committerUlrich Drepper <drepper@redhat.com>2004-01-14 00:24:36 +0000
commitea4f25a7f9adb67c2a19c48b453ee52fd65a57ed (patch)
treeb6887613d1be5146b86b758a4cb137c301d4d899 /elf
parentb177ed2b58d4db52e9dac00ab6575213817cd9ea (diff)
downloadglibc-ea4f25a7f9adb67c2a19c48b453ee52fd65a57ed.tar.gz
glibc-ea4f25a7f9adb67c2a19c48b453ee52fd65a57ed.tar.xz
glibc-ea4f25a7f9adb67c2a19c48b453ee52fd65a57ed.zip
Update.
2004-01-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/dl-machine.h: Include <tls.h>.

	* elf/rtld.c (_dl_start_final): Initialze __libc_stack_end here.
	* sysdeps/generic/dl-sysdep.c: Define __libc_stack_end with
	rtld_hidden_def and move into .data.rel.ro section.
	* sysdeps/generic/ldsodefs.h: Declare __libc_stack_end with
	rtld_hidden_proto.
	* sysdeps/generic/libc-start.c: Only initialize __libc_stack_end here
	if !SHARED.

	* sysdeps/unix/sysv/linux/dl-execstack.c
	(_dl_make_stack_executable): Move common code in front.  Use
	__builtin_expect.
Diffstat (limited to 'elf')
-rw-r--r--elf/rtld.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index 4273a6fb07..91723ccb77 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -253,6 +253,9 @@ _dl_start_final (void *arg, struct dl_start_final_info *info)
   HP_TIMING_NOW (GL(dl_cpuclock_offset));
 #endif
 
+  /* Initialize the stack end variable.  */
+  __libc_stack_end = __builtin_frame_address (0);
+
   /* Call the OS-dependent function to set up life so we can do things like
      file access.  It will call `dl_main' (below) to do all the real work
      of the dynamic linker, and then unwind our frame and run the user