[PATCH v1 03/13] aarch64: Mark x18 register as a fixed register for MS ABI

2024-02-26 Thread Evgeny Karpov
In user mode on Windows, it points to TEB (Thread Environment Block). more information here https://learn.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=msvc-170#integer-registers https://learn.microsoft.com/en-us/windows/win32/api/winternl/ns-winternl-teb Regards, Evgeny

[PATCH v1 03/13] aarch64: Mark x18 register as a fixed register for MS ABI

2024-02-26 Thread Evgeny Karpov
Thank you Jacek for clarifying Wine's needs for ms_abi! Work on vararg support is planned. Regards, Evgeny -Original Message- Friday, February 23, 2024 5:10 PM Jacek Caban wrote: > Dynamically might be needed also if we want to support ms_abi > attribute and/or -mabi=ms to support the

[PATCH v1 03/13] aarch64: Mark x18 register as a fixed register for MS ABI

2024-02-26 Thread Evgeny Karpov
This change has been refactored based on the review and will be included in v2. Original aarch64.h will remain unchanged, and the required definition for MS ABI will be implemented in aarch64-abi-ms.h. The reference to this file will be added to config.gcc. This change has been verified, and it

Re: [PATCH v1 03/13] aarch64: Mark x18 register as a fixed register for MS ABI

2024-02-23 Thread Richard Sandiford
"Richard Earnshaw (lists)" writes: > On 21/02/2024 18:30, Evgeny Karpov wrote: >> > +/* X18 reserved for the TEB on Windows. */ > +#ifdef TARGET_ARM64_MS_ABI > +# define FIXED_X18 1 > +# define CALL_USED_X18 0 > +#else > +# define FIXED_X18 0 > +# define CALL_USED_X18 1 > +#endif > > I'm not

Re: [PATCH v1 03/13] aarch64: Mark x18 register as a fixed register for MS ABI

2024-02-23 Thread Jacek Caban
On 22.02.2024 18:45, Andrew Pinski wrote: On Thu, Feb 22, 2024 at 3:56 AM Richard Earnshaw (lists) wrote: On 21/02/2024 18:30, Evgeny Karpov wrote: +/* X18 reserved for the TEB on Windows. */ +#ifdef TARGET_ARM64_MS_ABI +# define FIXED_X18 1 +# define CALL_USED_X18 0 +#else +# define

Re: [PATCH v1 03/13] aarch64: Mark x18 register as a fixed register for MS ABI

2024-02-22 Thread Iain Sandoe
> On 22 Feb 2024, at 17:45, Andrew Pinski wrote: > > On Thu, Feb 22, 2024 at 3:56 AM Richard Earnshaw (lists) > wrote: >> >> On 21/02/2024 18:30, Evgeny Karpov wrote: >>> >> +/* X18 reserved for the TEB on Windows. */ >> +#ifdef TARGET_ARM64_MS_ABI >> +# define FIXED_X18 1 >> +# define

Re: [PATCH v1 03/13] aarch64: Mark x18 register as a fixed register for MS ABI

2024-02-22 Thread Andrew Pinski
On Thu, Feb 22, 2024 at 3:56 AM Richard Earnshaw (lists) wrote: > > On 21/02/2024 18:30, Evgeny Karpov wrote: > > > +/* X18 reserved for the TEB on Windows. */ > +#ifdef TARGET_ARM64_MS_ABI > +# define FIXED_X18 1 > +# define CALL_USED_X18 0 > +#else > +# define FIXED_X18 0 > +# define

RE: [EXTERNAL] Re: [PATCH v1 03/13] aarch64: Mark x18 register as a fixed register for MS ABI

2024-02-22 Thread Evgeny Karpov
Hi Richard, Thanks for the review! TARGET_ARM64_MS_ABI refers to the official Microsoft ARM64 ABI naming used for the target. If AARCH64 is a more preferred name, it will be changed in PATCH v2. https://learn.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=msvc-170 Regards,

Re: [PATCH v1 03/13] aarch64: Mark x18 register as a fixed register for MS ABI

2024-02-22 Thread Richard Earnshaw (lists)
On 21/02/2024 18:30, Evgeny Karpov wrote: > + tm_defines="${tm_defines} TARGET_ARM64_MS_ABI=1" I missed this on first reading... The GCC port name uses AARCH64, please use that internally rather than other names. The only time when we should be using ARM64 is when it's needed for

Re: [PATCH v1 03/13] aarch64: Mark x18 register as a fixed register for MS ABI

2024-02-22 Thread Richard Earnshaw (lists)
On 21/02/2024 18:30, Evgeny Karpov wrote: > +/* X18 reserved for the TEB on Windows. */ +#ifdef TARGET_ARM64_MS_ABI +# define FIXED_X18 1 +# define CALL_USED_X18 0 +#else +# define FIXED_X18 0 +# define CALL_USED_X18 1 +#endif I'm not overly keen on ifdefs like this (and the one below), it can

[PATCH v1 03/13] aarch64: Mark x18 register as a fixed register for MS ABI

2024-02-21 Thread Evgeny Karpov
From 72ca3f49e3eef9b18946b8d4e77019c1441e1a97 Mon Sep 17 00:00:00 2001 From: Zac Walker Date: Tue, 20 Feb 2024 15:30:33 +0100 Subject: [PATCH v1 03/13] aarch64: Mark x18 register as a fixed register for MS ABI Define the MS ABI for aarch64-w64-mingw32. Adjust FIXED_REGISTERS