mirror of
https://git.code.sf.net/p/mingw-w64/mingw-w64
synced 2025-04-18 17:44:18 +03:00
crt: Implement the indirect call helper ARM64EC adjustor thunk
Calls to this are synthesized by the linker where it is used for calling into import libraries, this is referred to as an 'Adjustor Thunk' in ARM64EC documentation. Signed-off-by: Jacek Caban <jacek@codeweavers.com>
This commit is contained in:
parent
8191d597be
commit
a421d2c0c6
@ -83,3 +83,26 @@ EXPORT_SYM(__chpe_metadata)
|
||||
.rva __os_arm64x_helper6
|
||||
.rva __os_arm64x_helper7
|
||||
.rva __os_arm64x_helper8
|
||||
|
||||
/*
|
||||
* Calls to this are synthesized by the linker when calling into import libraries,
|
||||
* this is referred to as an 'Adjustor Thunk' in ARM64EC documentation.
|
||||
*/
|
||||
.text
|
||||
.balign 16
|
||||
EXPORT_SYM(__icall_helper_arm64ec)
|
||||
.seh_proc "__icall_helper_arm64ec"
|
||||
stp fp, lr, [sp, #-16]!
|
||||
.seh_save_fplr_x 16
|
||||
mov fp, sp
|
||||
.seh_set_fp
|
||||
.seh_endprologue
|
||||
adrp x16, __os_arm64x_check_icall
|
||||
ldr x16, [x16, #:lo12:__os_arm64x_check_icall]
|
||||
blr x16
|
||||
.seh_startepilogue
|
||||
ldp fp, lr, [sp], #16
|
||||
.seh_save_fplr_x 16
|
||||
.seh_endepilogue
|
||||
br x11
|
||||
.seh_endproc
|
||||
|
Loading…
x
Reference in New Issue
Block a user