about summary refs log tree commit diff
path: root/sysdeps/sh/sh4/__longjmp.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-12-22 20:10:10 +0000
committerUlrich Drepper <drepper@redhat.com>2004-12-22 20:10:10 +0000
commita334319f6530564d22e775935d9c91663623a1b4 (patch)
treeb5877475619e4c938e98757d518bb1e9cbead751 /sysdeps/sh/sh4/__longjmp.S
parent0ecb606cb6cf65de1d9fc8a919bceb4be476c602 (diff)
downloadglibc-a334319f6530564d22e775935d9c91663623a1b4.tar.gz
glibc-a334319f6530564d22e775935d9c91663623a1b4.tar.xz
glibc-a334319f6530564d22e775935d9c91663623a1b4.zip
(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.
Diffstat (limited to 'sysdeps/sh/sh4/__longjmp.S')
-rw-r--r--sysdeps/sh/sh4/__longjmp.S23
1 files changed, 5 insertions, 18 deletions
diff --git a/sysdeps/sh/sh4/__longjmp.S b/sysdeps/sh/sh4/__longjmp.S
index 320a7d11f7..7cd83bfcc4 100644
--- a/sysdeps/sh/sh4/__longjmp.S
+++ b/sysdeps/sh/sh4/__longjmp.S
@@ -1,5 +1,5 @@
 /* longjmp for SH.
-   Copyright (C) 1999, 2000, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -30,28 +30,15 @@ ENTRY (__longjmp)
 	mov.l	@r4+, r10
 	mov.l	@r4+, r11
 	mov.l	@r4+, r12
+	mov.l	@r4+, r13
+	mov.l	@r4+, r14
+	mov.l	@r4+, r15
 	mov	r5, r0		/* get the return value in place */
 	tst	r0, r0
 	bf.s	1f
-	 mov.l	@r4+, r13
+	 lds.l	@r4+, pr
 	mov	#1,r0		/* can't let setjmp() return zero! */
 1:
-#ifdef PTR_DEMANGLE
-	mov.l	@r4+, r2
-	PTR_DEMANGLE (r2, r1)
-	mov	r2, r14
-	mov.l	@r4+, r2
-	PTR_DEMANGLE2 (r2, r1)
-	mov	r2, r15
-	mov.l	@r4+, r2
-	PTR_DEMANGLE2 (r2, r1)
-	lds	r2, pr
-	mov	#0, r1
-#else
-	mov.l	@r4+, r14
-	mov.l	@r4+, r15
-	lds.l	@r4+, pr
-#endif
 	ldc.l	@r4+, gbr
 	lds.l	@r4+, fpscr
 	fmov.s	@r4+, fr12