aboutsummaryrefslogtreecommitdiff
path: root/elf/rtld.c
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/rtld.c
parentb177ed2b58d4db52e9dac00ab6575213817cd9ea (diff)
downloadglibc-ea4f25a7f9adb67c2a19c48b453ee52fd65a57ed.zip
glibc-ea4f25a7f9adb67c2a19c48b453ee52fd65a57ed.tar.gz
glibc-ea4f25a7f9adb67c2a19c48b453ee52fd65a57ed.tar.bz2
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/rtld.c')
-rw-r--r--elf/rtld.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index 4273a6f..91723cc 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