From ea4f25a7f9adb67c2a19c48b453ee52fd65a57ed Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 14 Jan 2004 00:24:36 +0000 Subject: Update. 2004-01-13 Ulrich Drepper * sysdeps/x86_64/dl-machine.h: Include . * 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. --- elf/rtld.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'elf') 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 -- cgit v1.1