* Fix setjmp/jmpbuf_t size so we can finally get to the KDL prompt
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38993 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -5,8 +5,7 @@
|
|||||||
#ifndef _ARCH_SETJMP_H_
|
#ifndef _ARCH_SETJMP_H_
|
||||||
#define _ARCH_SETJMP_H_
|
#define _ARCH_SETJMP_H_
|
||||||
|
|
||||||
#define _SETJMP_BUF_SZ (7+6+2+8*((96/8)/4))
|
#define _SETJMP_BUF_SZ ((15+2)*4)
|
||||||
typedef int __jmp_buf[_SETJMP_BUF_SZ];
|
typedef int __jmp_buf[_SETJMP_BUF_SZ];
|
||||||
#warning ARM: fix jmpbuf size
|
|
||||||
|
|
||||||
#endif /* _ARCH_SETJMP_H_ */
|
#endif /* _ARCH_SETJMP_H_ */
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
/* int sigsetjmp(jmp_buf buffer, int saveMask) */
|
/* int sigsetjmp(jmp_buf buffer, int saveMask) */
|
||||||
FUNCTION(__sigsetjmp):
|
FUNCTION(__sigsetjmp):
|
||||||
FUNCTION(sigsetjmp):
|
FUNCTION(sigsetjmp):
|
||||||
|
stmdb sp!, {r4, lr}
|
||||||
stmia r0, {r0-r14}
|
stmia r0, {r0-r14}
|
||||||
str lr,[r0, #60]
|
str lr,[r0, #60]
|
||||||
mrs r1,cpsr
|
mrs r1,cpsr
|
||||||
@@ -18,19 +19,21 @@ FUNCTION(sigsetjmp):
|
|||||||
mov r0, #0
|
mov r0, #0
|
||||||
|
|
||||||
bl __setjmp_save_sigs
|
bl __setjmp_save_sigs
|
||||||
|
ldmia sp!, {r4, pc}
|
||||||
FUNCTION_END(__sigsetjmp)
|
FUNCTION_END(__sigsetjmp)
|
||||||
FUNCTION_END(sigsetjmp)
|
FUNCTION_END(sigsetjmp)
|
||||||
|
|
||||||
|
|
||||||
/* int setjmp(jmp_buf buffer) */
|
/* int setjmp(jmp_buf buffer) */
|
||||||
FUNCTION(setjmp):
|
FUNCTION(setjmp):
|
||||||
|
stmdb sp!, {r4, lr}
|
||||||
stmia r0, {r0-r14}
|
stmia r0, {r0-r14}
|
||||||
str lr,[r0, #60]
|
str lr,[r0, #60]
|
||||||
mrs r1,cpsr
|
mrs r1,cpsr
|
||||||
str r1,[r0,#64]
|
str r1,[r0,#64]
|
||||||
ldr r1,[r0,#4]
|
ldr r1,[r0,#4]
|
||||||
mov r0, #0
|
mov r0, #0
|
||||||
bl __sigsetjmp
|
ldmia sp!, {r4, pc}
|
||||||
FUNCTION_END(setjmp)
|
FUNCTION_END(setjmp)
|
||||||
|
|
||||||
#pragma weak _setjmp=setjmp
|
#pragma weak _setjmp=setjmp
|
||||||
|
|||||||
Reference in New Issue
Block a user