summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/sparc/setjmp.S
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2003-01-02 16:48:42 +0000
committerEric Andersen <andersen@codepoet.org>2003-01-02 16:48:42 +0000
commitf980a783a335d83330e832ed92c0aa8f1abb93b8 (patch)
tree69d00c1eaffd1e8c808ffbf66ac0d4565ee34e80 /libc/sysdeps/linux/sparc/setjmp.S
parentd4b37495fb022640b1db8c0aa8615392c8969684 (diff)
Rework sparc architecture support so it will compile
and run. Seems to be working... -Erik
Diffstat (limited to 'libc/sysdeps/linux/sparc/setjmp.S')
-rw-r--r--libc/sysdeps/linux/sparc/setjmp.S37
1 files changed, 30 insertions, 7 deletions
diff --git a/libc/sysdeps/linux/sparc/setjmp.S b/libc/sysdeps/linux/sparc/setjmp.S
index 30051418c..e01e73b04 100644
--- a/libc/sysdeps/linux/sparc/setjmp.S
+++ b/libc/sysdeps/linux/sparc/setjmp.S
@@ -16,22 +16,43 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#include <sysdep.h>
+#include <sys/syscall.h>
#define _ASM 1
#define _SETJMP_H
#include <bits/setjmp.h>
+#define ST_FLUSH_WINDOWS 3
-ENTRY(_setjmp)
+.global _setjmp;
+.align 4;
+.type _setjmp ,@function;
+
+_setjmp:
b 1f
set 0, %o1
-END(_setjmp)
+.size _setjmp,.-_setjmp;
+
+
+
+
+
+
+.global setjmp;
+.align 4;
+.type setjmp ,@function;
-ENTRY(setjmp)
+setjmp:
set 1, %o1
-END(setjmp)
+.size setjmp,.-setjmp;
-ENTRY (__sigsetjmp)
+
+
+
+.global __sigsetjmp;
+.align 4;
+.type __sigsetjmp ,@function;
+
+__sigsetjmp:
1:
/* Save our PC, SP and FP. Save the signal mask if requested with
a tail-call for simplicity; it always returns zero. */
@@ -44,7 +65,9 @@ ENTRY (__sigsetjmp)
mov %o7, %g1
call __sigjmp_save
mov %g1, %o7
-END(__sigsetjmp)
+.size __sigsetjmp,.-__sigsetjmp;
+
+
.weak _setjmp
.weak setjmp