Re: [PATCH] Add native windows on arm64 support

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Niyas Sait <niyas(dot)sait(at)linaro(dot)org>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Ian Lawrence Barwick <barwick(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Julien Rouhaud <rjuju123(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: [PATCH] Add native windows on arm64 support
Date: 2022-12-02 05:02:54
Message-ID: Y4mG/vD9YjPDZaYw@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Dec 01, 2022 at 05:53:47PM +0000, Niyas Sait wrote:
> I've attached a new revision of the patch (v4) and includes following
> changes,
>
> 1. Add support for meson build system
> 2. Extend MSVC scripts to handle ARM64 platform.
> 3. Add arm64 definition of spin_delay function.
> 4. Exclude arm_acle.h import with MSVC compiler.
>
> V3->V4: Add support for meson build system
> V2->V3: Removed ASLR enablement and rebased on master.
> V1->V2: Rebased on top of master

Thanks for the updated version. I have been looking at it closely and
it looks like it should be able to do the job (no arm64 machine for
Windows here, sigh).

I have one tiny comment about this part:

- USE_ARMV8_CRC32C_WITH_RUNTIME_CHECK => undef,
+ USE_ARMV8_CRC32C_WITH_RUNTIME_CHECK => 1,

Shouldn't we only enable this flag when we are under aarch64?
Similarly, I don't think that it is a good idea to switch on
USE_SSE42_CRC32C_WITH_RUNTIME_CHECK all the time. We should only set
it when building under x86 and x86_64.

I would also add your link [1] in s_lock.h.

[1]: https://learn.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics#BarrierRestrictions
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2022-12-02 05:08:20 Re: Failed Assert in pgstat_assoc_relation
Previous Message Andres Freund 2022-12-02 04:46:35 Re: Failed Assert in pgstat_assoc_relation