xref: /haiku/src/system/libroot/posix/arch/arm/sigsetjmp.S (revision 220d04022750f40f8bac8f01fa551211e28d04f2)
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/* int sigsetjmp(jmp_buf buffer, int saveMask) */
9FUNCTION(__sigsetjmp):
10FUNCTION(sigsetjmp):
11	stmia	r0, {r0-r14}
12	mrs	r1, cpsr
13	str	r1, [r0, #64]
14	ldr	r1, [r0, #4]
15	b	__setjmp_save_sigs
16FUNCTION_END(sigsetjmp)
17FUNCTION_END(__sigsetjmp)
18
19
20/* int setjmp(jmp_buf buffer) */
21FUNCTION(setjmp):
22	stmia	r0, {r0-r14}
23	mrs	r1, cpsr
24	str	r1, [r0, #64]
25	ldr	r1, [r0, #4]
26	mov	r0, #0
27	bx	lr
28FUNCTION_END(setjmp)
29
30#pragma weak _setjmp=setjmp
31