1/*
2 * Copyright 2005, Ingo Weinhold <bonefish@cs.tu-berlin.de>. All rights
3 * reserved. Distributed under the terms of the Haiku License.
4 */
5
6#include <asm_defs.h>
7
8//#include "setjmp_internal.h"
9
10/* int sigsetjmp(jmp_buf buffer, int saveMask) */
11FUNCTION(__sigsetjmp):
12FUNCTION(sigsetjmp):
13	stmdb   sp!, {r4, lr}
14        stmia   r0, {r0-r14}
15        str     lr,[r0, #60]
16        mrs     r1,cpsr
17        str     r1,[r0,#64]
18        ldr     r1,[r0,#4]
19        mov     r0, #0
20
21	bl		__setjmp_save_sigs
22	ldmia   sp!, {r4, pc}
23FUNCTION_END(__sigsetjmp)
24FUNCTION_END(sigsetjmp)
25
26
27/* int setjmp(jmp_buf buffer) */
28FUNCTION(setjmp):
29        stmia   r0, {r0-r14}
30        str     lr,[r0, #60]
31        mrs     r1,cpsr
32        str     r1,[r0,#64]
33        ldr     r1,[r0,#4]
34        mov     r0, #0
35	bx	lr
36FUNCTION_END(setjmp)
37
38#pragma weak _setjmp=setjmp
39