summaryrefslogtreecommitdiff
path: root/sysdeps/ia64/dl-machine.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-09-24 21:13:55 +0000
committerUlrich Drepper <drepper@redhat.com>2003-09-24 21:13:55 +0000
commit977169541668f2287c5f8e239e5743eb9cefcb63 (patch)
treebabcc4b260b9fda3a335f6eaeac204b1495ce3b8 /sysdeps/ia64/dl-machine.h
parent0f124303c8bebc3258d2d22bdc03271e85b9ea42 (diff)
Update.
2003-09-24 Ulrich Drepper <drepper@redhat.com> * sysdeps/ia64/dl-machine.h (RTLD_START): Remove setting of __libc_stack_end. Patch by David Mosberger. 2003-09-24 Jakub Jelinek <jakub@redhat.com> * elf/Versions (ld): Export __libc_stack_end@GLIBC_2.1 instead of __libc_stack_end@GLIBC_PRIVATE. * sysdeps/generic/dl-sysdep.c (DL_STACK_END): Define if not defined. (_dl_sysdep_start): Set __libc_stack_end here. * sysdeps/alpha/dl-machine.h (RTLD_START): Remove setting of __libc_stack_end. * sysdeps/arm/dl-machine.h (RTLD_START): Likewise. * sysdeps/cris/dl-machine.h (RTLD_START): Likewise. * sysdeps/i386/dl-machine.h (RTLD_START): Likewise. * sysdeps/m68k/dl-machine.h (RTLD_START): Likewise. * sysdeps/s390/s390-32/dl-machine.h (RTLD_START): Likewise. * sysdeps/s390/s390-64/dl-machine.h (RTLD_START): Likewise. * sysdeps/sh/dl-machine.h (RTLD_START): Likewise. * sysdeps/x86_64/dl-machine.h (RTLD_START): Likewise. * sysdeps/ia64/dl-machine.h (DL_STACK_END): Define. * sysdeps/sparc/sparc32/dl-machine.h (DL_STACK_END): Define. (RTLD_START): Remove setting of __libc_stack_end. * sysdeps/sparc/sparc64/dl-machine.h (DL_STACK_END): Define. (RTLD_START): Remove setting of __libc_stack_end. 2003-09-24 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/sys/sysmacros.h: Add gnu_dev_ prefix to function definitions. Adjust macro expansions accordingly. * sysdeps/unix/sysv/linux/Versions: Add gnu_dev_ prefix to major, minor, makedev name. * sysdeps/unix/sysv/linux/makedev.c: Likewise. 2003-09-24 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sys/sysmacros.h (major, minor, makedev): Add __THROW.
Diffstat (limited to 'sysdeps/ia64/dl-machine.h')
-rw-r--r--sysdeps/ia64/dl-machine.h19
1 files changed, 8 insertions, 11 deletions
diff --git a/sysdeps/ia64/dl-machine.h b/sysdeps/ia64/dl-machine.h
index f09fb9bae0..c0f9263bf7 100644
--- a/sysdeps/ia64/dl-machine.h
+++ b/sysdeps/ia64/dl-machine.h
@@ -267,6 +267,10 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
strong_alias (_dl_runtime_resolve, _dl_runtime_profile);
#endif
+/* Undo the adds out0 = 16, sp below to get at the value we want in
+ __libc_stack_end. */
+#define DL_STACK_END(cookie) \
+ ((void *) (((long) (cookie)) - 16))
/* Initial entry point code for the dynamic linker.
The C function `_dl_start' is the real entry point;
@@ -318,21 +322,14 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
" .save ar.pfs, r32\n" \
" .body\n" \
" { .mii\n" \
-" /* Save the pointer to the user entry point fptr in loc2. */\n" \
-" mov loc2 = ret0\n" \
-" /* Store the highest stack address. */\n" \
-" addl r2 = @ltoff(__libc_stack_end#), gp\n" \
" addl r3 = @gprel(_dl_skip_args), gp\n" \
-" ;;\n" \
-" }\n" \
-" { .mmi\n" \
-" ld8 r2 = [r2]\n" \
-" ld4 r3 = [r3]\n" \
" adds r11 = 24, sp /* Load the address of argv. */\n" \
+" /* Save the pointer to the user entry point fptr in loc2. */\n" \
+" mov loc2 = ret0\n" \
" ;;\n" \
" }\n" \
" { .mii\n" \
-" st8 [r2] = sp\n" \
+" ld4 r3 = [r3]\n" \
" adds r10 = 16, sp /* Load the address of argc. */\n" \
" mov out2 = r11\n" \
" ;;\n" \
@@ -401,7 +398,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
" br.call.sptk.many b0 = _dl_init_internal#\n" \
" ;;\n" \
" }\n" \
-" /* Pass our finializer function to the user,\n" \
+" /* Pass our finalizer function to the user,\n" \
" and jump to the user's entry point. */\n" \
" { .mmi\n" \
" ld8 r3 = [loc2], 8\n" \