Moved setjmp() to sigsetjmp.S for ppc and m68k, too. Should fix the
kernel build. Haven't tested it though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25431 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -6,7 +6,6 @@ local genericSources =
|
|||||||
;
|
;
|
||||||
|
|
||||||
MergeObject posix_arch_$(TARGET_ARCH).o :
|
MergeObject posix_arch_$(TARGET_ARCH).o :
|
||||||
setjmp.S
|
|
||||||
sigsetjmp.S
|
sigsetjmp.S
|
||||||
siglongjmp.S
|
siglongjmp.S
|
||||||
|
|
||||||
|
|||||||
@@ -1,20 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2005, Ingo Weinhold <bonefish@cs.tu-berlin.de>. All rights
|
|
||||||
* reserved. Distributed under the terms of the Haiku License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "setjmp_internal.h"
|
|
||||||
|
|
||||||
/* int setjmp(jmp_buf buffer) */
|
|
||||||
FUNCTION(setjmp):
|
|
||||||
move.l (%a7)+,%a0
|
|
||||||
move.l (%a7)+,%d0
|
|
||||||
clr.l -(%a7) /* push 0 as 2nd arg */
|
|
||||||
move.l %d0,-(%a7)
|
|
||||||
move.l %a0,-(%a7)
|
|
||||||
// call __sigsetjmp with saveMask = 0
|
|
||||||
jmp __sigsetjmp
|
|
||||||
|
|
||||||
|
|
||||||
#pragma weak _setjmp=setjmp
|
|
||||||
|
|
||||||
@@ -25,3 +25,17 @@ FUNCTION(sigsetjmp):
|
|||||||
#warning M68K: check this.
|
#warning M68K: check this.
|
||||||
|
|
||||||
jmp __setjmp_save_sigs
|
jmp __setjmp_save_sigs
|
||||||
|
|
||||||
|
|
||||||
|
/* int setjmp(jmp_buf buffer) */
|
||||||
|
FUNCTION(setjmp):
|
||||||
|
move.l (%a7)+,%a0
|
||||||
|
move.l (%a7)+,%d0
|
||||||
|
clr.l -(%a7) /* push 0 as 2nd arg */
|
||||||
|
move.l %d0,-(%a7)
|
||||||
|
move.l %a0,-(%a7)
|
||||||
|
// call __sigsetjmp with saveMask = 0
|
||||||
|
jmp __sigsetjmp
|
||||||
|
|
||||||
|
|
||||||
|
#pragma weak _setjmp=setjmp
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ local genericSources =
|
|||||||
;
|
;
|
||||||
|
|
||||||
MergeObject posix_arch_$(TARGET_ARCH).o :
|
MergeObject posix_arch_$(TARGET_ARCH).o :
|
||||||
setjmp.S
|
|
||||||
sigsetjmp.S
|
sigsetjmp.S
|
||||||
siglongjmp.S
|
siglongjmp.S
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2005, Ingo Weinhold <bonefish@cs.tu-berlin.de>. All rights
|
|
||||||
* reserved. Distributed under the terms of the Haiku License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "setjmp_internal.h"
|
|
||||||
|
|
||||||
/* int setjmp(jmp_buf buffer) */
|
|
||||||
FUNCTION(setjmp):
|
|
||||||
// call __sigsetjmp with saveMask = 0
|
|
||||||
addi %r4, 0, 0
|
|
||||||
b __sigsetjmp
|
|
||||||
|
|
||||||
#pragma weak _setjmp=setjmp
|
|
||||||
|
|
||||||
@@ -40,3 +40,12 @@ FUNCTION(sigsetjmp):
|
|||||||
stw %r0, JMP_REGS_CR(3)
|
stw %r0, JMP_REGS_CR(3)
|
||||||
|
|
||||||
b __setjmp_save_sigs
|
b __setjmp_save_sigs
|
||||||
|
|
||||||
|
|
||||||
|
/* int setjmp(jmp_buf buffer) */
|
||||||
|
FUNCTION(setjmp):
|
||||||
|
// call __sigsetjmp with saveMask = 0
|
||||||
|
addi %r4, 0, 0
|
||||||
|
b __sigsetjmp
|
||||||
|
|
||||||
|
#pragma weak _setjmp=setjmp
|
||||||
|
|||||||
Reference in New Issue
Block a user