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