From 321d2f0e5667fd3d10e9cd41aa80818bad71ebdc Mon Sep 17 00:00:00 2001 From: David McCullough Date: Wed, 6 Feb 2002 14:35:12 +0000 Subject: Add in clone (untested) Fix up setjmp/longjmp which were quite broken not withstanding all the new versions. Needs a little more test time before I'll trust this code totally. --- libc/sysdeps/linux/m68k/bsd-_setjmp.S | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 libc/sysdeps/linux/m68k/bsd-_setjmp.S (limited to 'libc/sysdeps/linux/m68k/bsd-_setjmp.S') diff --git a/libc/sysdeps/linux/m68k/bsd-_setjmp.S b/libc/sysdeps/linux/m68k/bsd-_setjmp.S new file mode 100644 index 000000000..0380c3dee --- /dev/null +++ b/libc/sysdeps/linux/m68k/bsd-_setjmp.S @@ -0,0 +1,24 @@ + +/* Copyright (C) 2002, David McCullough */ +/* This file is released under the LGPL, any version you like */ + +#define _ASM +#define _SETJMP_H +#include + +.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 + movl %d0, JB_SIZE(%a0) /* No signal mask set. */ + rts + + -- cgit v1.2.3