Implement __chkstk for arm64
Lifted from a previously built SDL3.dll
This commit is contained in:
parent
578ac0ef52
commit
4fbf59ac3a
4 changed files with 47 additions and 13 deletions
26
src/stdlib/SDL_mslibc_arm64.masm
Normal file
26
src/stdlib/SDL_mslibc_arm64.masm
Normal file
|
@ -0,0 +1,26 @@
|
|||
TeStackLimit EQU 0x00010
|
||||
PAGE_SIZE equ 0x1000
|
||||
|
||||
AREA CODE, READONLY
|
||||
|
||||
EXPORT __chkstk
|
||||
|
||||
__chkstk PROC
|
||||
ldr x17,[x18, #TeStackLimit]
|
||||
subs x16,sp,x15, LSL #0x4
|
||||
csel x16,xzr,x16,cc
|
||||
cmp x16,x17
|
||||
b.cc chkstk_start_loop
|
||||
ret
|
||||
chkstk_start_loop
|
||||
and x16,x16,#-PAGE_SIZE
|
||||
chkstk_loop
|
||||
sub x17,x17,#0x1, LSL #12
|
||||
ldr xzr,[x17]
|
||||
cmp x17,x16
|
||||
b.ne chkstk_loop
|
||||
ret
|
||||
|
||||
ENDP
|
||||
|
||||
END
|
Loading…
Add table
Add a link
Reference in a new issue