https://bugs.winehq.org/show_bug.cgi?id=38780
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |NEW Summary|AArch64 platforms: register |AArch64 platforms: register |X18 must remain reserved |X18 (TEB) must remain |for Wine to run 64-bit ARM |reserved for Wine to run |Windows applications |64-bit ARM Windows |(Distro aarch64 toolchains |applications (Distro |need '-ffixed-x18' default, |aarch64 toolchains need |loader/libc/userland) |'-ffixed-x18' default, | |loader/libc/userland)
--- Comment #12 from Anastasius Focht focht@gmx.net --- Hello folks,
setting status again to 'NEW'.
It's also documented now in Microsoft docs:
https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?vie...
--- quote --- ... Integer registers
The AArch64 architecture supports 32 integer registers, summarized below:
Register Volatile? Role
x0 Volatile Parameter/scratch register 1, result register x1-x7 Volatile Parameter/scratch register 2-8 x8-x15 Volatile Scratch registers x16-x17 Volatile Intra-procedure-call scratch registers x18 Non-volatile Platform register: in kernel mode, points to KPCR for the current processor; in user mode, points to TEB x19-x28 Non-volatile Scratch registers x29/fp Non-volatile Frame pointer x30/lr Non-volatile Link registers --- quote ---
Regards