From 5c12c8eecd5f2e06c200651e90befe85efcf166f Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Thu, 11 Oct 2001 08:29:22 +0000 Subject: Patch from Miles Bader to support the v850. He sent this patch to me a month ago, but I forgot to apply it... --- libc/sysdeps/linux/v850/longjmp.S | 48 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 libc/sysdeps/linux/v850/longjmp.S (limited to 'libc/sysdeps/linux/v850/longjmp.S') diff --git a/libc/sysdeps/linux/v850/longjmp.S b/libc/sysdeps/linux/v850/longjmp.S new file mode 100644 index 000000000..16873fa7a --- /dev/null +++ b/libc/sysdeps/linux/v850/longjmp.S @@ -0,0 +1,48 @@ +/* + * libc/sysdeps/linux/v850/longjmp.S -- `longjmp' for v850 + * + * Copyright (C) 2001 NEC Corporation + * Copyright (C) 2001 Miles Bader + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License. See the file COPYING.LIB in the main + * directory of this archive for more details. + * + * Written by Miles Bader + */ + +#define _SETJMP_H +#define _ASM +#include + +#include + + .text +C_ENTRY(__longjmp): + /* Save registers */ + mov r6, ep + sld.w 0[ep], sp + sld.w 4[ep], lp + sld.w 8[ep], r2 + sld.w 12[ep], r20 + sld.w 16[ep], r21 + sld.w 20[ep], r22 + sld.w 24[ep], r23 + sld.w 28[ep], r24 + sld.w 32[ep], r25 + sld.w 36[ep], r26 + sld.w 40[ep], r27 + sld.w 44[ep], r28 + sld.w 48[ep], r29 + mov 1, r10 // return val + jmp [lp] +C_END(__sigsetjmp) + +.weak C_SYMBOL_NAME(_longjmp) +C_SYMBOL_NAME(_longjmp) = C_SYMBOL_NAME(longjmp) + +.weak C_SYMBOL_NAME(siglongjmp) +C_SYMBOL_NAME(siglongjmp) = C_SYMBOL_NAME(longjmp) + +.weak C_SYMBOL_NAME(__sigprocmask) +C_SYMBOL_NAME(__sigprocmask) = C_SYMBOL_NAME(sigprocmask) -- cgit v1.2.3