about summary refs log tree commit diff
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.gz
glibc-f212e8dcf8f5a94b91b2ca36a5f0e6823bd745d4.tar.xz
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