[Bug 38780] AArch64 platforms: register X18 (TEB) must remain reserved for Wine to run 64-bit ARM Windows applications ( Distro aarch64 toolchains need '-ffixed-x18' default, loader/libc/userland )
wine-bugs at winehq.org
wine-bugs at winehq.org
Sun Nov 11 10:01:41 CST 2018
https://bugs.winehq.org/show_bug.cgi?id=38780
Anastasius Focht <focht at 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 at 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?view=vs-2017
--- 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
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list