Files
KirkOS/user/include/mlibc/options/internal/m68k/setjmp.S
T
kaguya 9a9b91c940 user: implement mlibc as the libc, finally.
It's finally done..

Signed-off-by: kaguya <vpshinomiya@protonmail.com>
2026-05-02 03:31:49 -04:00

53 lines
723 B
ArmAsm

.type __setjmp, "function"
__setjmp:
movea.l 4(%sp), %a0
movem.l %d2-%d7/%a2-%a7, (%a0)
move.l (%sp), 48(%a0)
tst.l %d0
bne 1f
clr.l %d0
rts
1:
move.l #1, -(%sp)
move.l %a0, -(%sp)
jbsr __sigsetjmp@PLTPC
addq.l #8, %sp
rts
.global setjmp
.type setjmp, "function"
.global _setjmp
.type _setjmp, "function"
setjmp:
_setjmp:
clr.l %d0
jmp __setjmp
.global sigsetjmp
.type sigsetjmp, "function"
sigsetjmp:
move.l #1, %d0
jmp __setjmp
.global longjmp
.type longjmp, "function"
.global _longjmp
.type _longjmp, "function"
longjmp:
_longjmp:
movea.l 4(%sp),%a0
move.l 8(%sp),%d0
bne 1f
move.l #1,%d0
1:
movem.l (%a0), %d2-%d7/%a2-%a7
move.l 48(%a0), (%sp)
rts
.section .note.GNU-stack,"",%progbits