summary refs log tree commit diff
path: root/sysdeps/sh/sh4/setjmp.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/sh/sh4/setjmp.S')
-rw-r--r--sysdeps/sh/sh4/setjmp.S29
1 files changed, 6 insertions, 23 deletions
diff --git a/sysdeps/sh/sh4/setjmp.S b/sysdeps/sh/sh4/setjmp.S
index f9a4f0a8ce..c7b0aed0e7 100644
--- a/sysdeps/sh/sh4/setjmp.S
+++ b/sysdeps/sh/sh4/setjmp.S
@@ -1,5 +1,5 @@
 /* setjmp for SH4.
-   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
@@ -18,7 +18,9 @@
    02111-1307 USA.  */
 
 #include <sysdep.h>
-#include <jmpbuf-offsets.h>
+#define _SETJMP_H
+#define _ASM
+#include <bits/setjmp.h>
 
 ENTRY (__sigsetjmp)
 	/* Save registers */
@@ -29,22 +31,9 @@ ENTRY (__sigsetjmp)
 	fmov.s	fr12, @-r4
 	sts.l	fpscr, @-r4
 	stc.l	gbr, @-r4
-#ifdef PTR_MANGLE
-	sts	pr, r2
-	PTR_MANGLE (r2, r1)
-	mov.l	r2, @-r4
-	mov	r15, r2
-	PTR_MANGLE2 (r2, r1)
-	mov.l	r2, @-r4
-	mov	r14, r2
-	PTR_MANGLE2 (r2, r1)
-	mov.l	r2, @-r4
-	mov	#0, r1
-#else
 	sts.l	pr, @-r4
 	mov.l	r15, @-r4
 	mov.l	r14, @-r4
-#endif
 	mov.l	r13, @-r4
 	mov.l	r12, @-r4
 	mov.l	r11, @-r4
@@ -52,13 +41,8 @@ ENTRY (__sigsetjmp)
 	mov.l	r9, @-r4
 	mov.l	r8, @-r4
 
-#if defined NOT_IN_libc && defined IS_IN_rtld
-	/* In ld.so we never save the signal mask.  */
-	rts
-	 mov	#0, r0
-#else
 	/* Make a tail call to __sigjmp_save; it takes the same args.  */
-# ifdef SHARED
+#ifdef SHARED
 	mov.l	1f, r1
 	mova	1f, r0
 	bra	2f
@@ -74,13 +58,12 @@ ENTRY (__sigsetjmp)
 	.align	2
 .L1:
 	.long	C_SYMBOL_NAME(__sigjmp_save@GOT)
-# else
+#else
 	mov.l	.L1, r1
 	jmp	@r1
 	 nop
 	.align	2
 .L1:
 	.long	C_SYMBOL_NAME(__sigjmp_save)
-# endif
 #endif
 END (__sigsetjmp)