diff options
Diffstat (limited to 'libc/sysdeps/linux/m68k/bsd-setjmp.S')
| -rw-r--r-- | libc/sysdeps/linux/m68k/bsd-setjmp.S | 23 | 
1 files changed, 23 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/m68k/bsd-setjmp.S b/libc/sysdeps/linux/m68k/bsd-setjmp.S new file mode 100644 index 000000000..b83573c80 --- /dev/null +++ b/libc/sysdeps/linux/m68k/bsd-setjmp.S @@ -0,0 +1,23 @@ + +/* Copyright (C) 2002, David McCullough <davidm@snapgear.com> */ +/* This file is released under the LGPL, any version you like */ + +#define _ASM +#define _SETJMP_H +#include <bits/setjmp.h> + +.globl setjmp; +.type  setjmp,@function +.align 4; + +setjmp: +	moveal	%sp@(4), %a0 +	movel	%sp@(0), %a0@(JB_PC) +	moveml	%d2-%d7/%a2-%a7, %a0@(JB_REGS) +#if defined(__HAVE_68881__) || defined(__HAVE_FPU__) +	fmovemx %fp2-%fp7, %a0@(JB_FPREGS) +#endif +	clrl	%d0 +	lea		__sigjmp_save-.-8, %a0 +	jmp		0(%pc, %a0) +  | 
