about summary refs log tree commit diff
path: root/src/setjmp
diff options
context:
space:
mode:
Diffstat (limited to 'src/setjmp')
-rw-r--r--src/setjmp/m68k/longjmp.s14
-rw-r--r--src/setjmp/m68k/setjmp.s18
2 files changed, 32 insertions, 0 deletions
diff --git a/src/setjmp/m68k/longjmp.s b/src/setjmp/m68k/longjmp.s
new file mode 100644
index 00000000..cdb05fb5
--- /dev/null
+++ b/src/setjmp/m68k/longjmp.s
@@ -0,0 +1,14 @@
+.global _longjmp
+.global longjmp
+.type _longjmp,@function
+.type longjmp,@function
+_longjmp:
+longjmp:
+	movea.l 4(%sp),%a0
+	move.l 8(%sp),%d0
+	bne 1f
+	move.l #1,%d0
+1:	movem.l (%a0),%d2-%d7/%a2-%a7
+	fmovem.x 52(%a0),%fp2-%fp7
+	move.l 48(%a0),(%sp)
+	rts
diff --git a/src/setjmp/m68k/setjmp.s b/src/setjmp/m68k/setjmp.s
new file mode 100644
index 00000000..15e549b0
--- /dev/null
+++ b/src/setjmp/m68k/setjmp.s
@@ -0,0 +1,18 @@
+.global ___setjmp
+.hidden ___setjmp
+.global __setjmp
+.global _setjmp
+.global setjmp
+.type __setjmp,@function
+.type _setjmp,@function
+.type setjmp,@function
+___setjmp:
+__setjmp:
+_setjmp:
+setjmp:
+	movea.l 4(%sp),%a0
+	movem.l %d2-%d7/%a2-%a7,(%a0)
+	move.l (%sp),48(%a0)
+	fmovem.x %fp2-%fp7,52(%a0)
+	clr.l %d0
+	rts