diff options
Diffstat (limited to 'win32/lib')
| -rw-r--r-- | win32/lib/chkstk.S | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/win32/lib/chkstk.S b/win32/lib/chkstk.S index 90a6f0d..a757b16 100644 --- a/win32/lib/chkstk.S +++ b/win32/lib/chkstk.S @@ -57,11 +57,19 @@ P0: jmp *8(%rax) /* ---------------------------------------------- */ -/* avoid msvcrt unwind stuff for setjmp/longjmp */ +/* setjmp/longjmp support */ -.globl tinyc_getsp -tinyc_getsp: +.globl tinyc_no_getbp +tinyc_no_getbp: + .byte 0x90 + +.globl tinyc_getbp +tinyc_getbp: xor %rax,%rax + cmp %al,tinyc_no_getbp(%rax) + je t1 + mov %rbp,%rax +t1: ret /* ---------------------------------------------- */ |
