aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/alpha
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-06-06 05:54:15 +0000
committerRichard Henderson <rth@redhat.com>2003-06-06 05:54:15 +0000
commitf212e8dcf8f5a94b91b2ca36a5f0e6823bd745d4 (patch)
tree0756684b318b1dfd5771911a049f8965f11ae6c2 /sysdeps/alpha
parenta56e4568df19f99dc93f8c0f09e851e5b61f2d55 (diff)
downloadglibc-f212e8dcf8f5a94b91b2ca36a5f0e6823bd745d4.tar
glibc-f212e8dcf8f5a94b91b2ca36a5f0e6823bd745d4.tar.gz
glibc-f212e8dcf8f5a94b91b2ca36a5f0e6823bd745d4.tar.bz2
glibc-f212e8dcf8f5a94b91b2ca36a5f0e6823bd745d4.zip
* sysdeps/alpha/dl-machine.h (RTLD_START): Fix top-of-stack backtrace. * sysdeps/unix/sysv/linux/alpha/clone.S: Likewise. * sysdeps/alpha/elf/start.S: Likewise. Remove pointless allocation. * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Use standard ldgp entry sequence and explicit relocs. Add unwind info for sigreturn and rt_sigreturn. * configure.in (libc_cv_asm_cfi_directives): Test .cfi_remember_state. * configure: Regenerate.
* sysdeps/alpha/dl-machine.h (RTLD_START): Fix top-of-stack backtrace. * sysdeps/unix/sysv/linux/alpha/clone.S: Likewise. * sysdeps/alpha/elf/start.S: Likewise. Remove pointless allocation. * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Use standard ldgp entry sequence and explicit relocs. Add unwind info for sigreturn and rt_sigreturn. * configure.in (libc_cv_asm_cfi_directives): Test .cfi_remember_state. * configure: Regenerate.
Diffstat (limited to 'sysdeps/alpha')
-rw-r--r--sysdeps/alpha/dl-machine.h3
-rw-r--r--sysdeps/alpha/elf/start.S7
2 files changed, 5 insertions, 5 deletions
diff --git a/sysdeps/alpha/dl-machine.h b/sysdeps/alpha/dl-machine.h
index 4704428d93..0101ba43d5 100644
--- a/sysdeps/alpha/dl-machine.h
+++ b/sysdeps/alpha/dl-machine.h
@@ -303,6 +303,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
.globl _start \n\
.ent _start \n\
_start: \n\
+ .frame $31,0,$31,0 \n\
br $gp, 0f \n\
0: ldgp $gp, 0($gp) \n\
.prologue 0 \n\
@@ -314,7 +315,7 @@ _start: \n\
.globl _dl_start_user \n\
.ent _dl_start_user \n\
_dl_start_user: \n\
- .frame $30,0,$31,0 \n\
+ .frame $31,0,$31,0 \n\
.prologue 0 \n\
/* Save the user entry point address in s0. */ \n\
mov $0, $9 \n\
diff --git a/sysdeps/alpha/elf/start.S b/sysdeps/alpha/elf/start.S
index 3f98111fd9..dbe4223fea 100644
--- a/sysdeps/alpha/elf/start.S
+++ b/sysdeps/alpha/elf/start.S
@@ -1,5 +1,6 @@
/* Startup code for Alpha/ELF.
- Copyright (C) 1993,1995,1996,1997,1998,2000,2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson <rth@tamu.edu>
@@ -26,8 +27,7 @@
.ent _start, 0
.type _start,@function
_start:
- .frame fp, 0, zero
- mov zero, fp
+ .frame $31, 0, $31
br gp, 1f
1: ldgp gp, 0(gp)
subq sp, 16, sp
@@ -65,6 +65,5 @@ weak_alias(_start, __start)
.data
.globl __data_start
__data_start:
- .long 0
.weak data_start
data_start = __data_start