Re: [PATCH] Add native windows on arm64 support

Niyas Sait <niyas.sait@linaro.org>

From: Niyas Sait <niyas.sait@linaro.org>
To: Andres Freund <andres@anarazel.de>
Cc: Michael Paquier <michael@paquier.xyz>, Ian Lawrence Barwick <barwick@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Thomas Munro <thomas.munro@gmail.com>, Julien Rouhaud <rjuju123@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, robhenry@microsoft.com
Date: 2023-05-02T07:51:09Z
Lists: pgsql-hackers

Attachments

On 19/01/2023 10:09, Niyas Sait wrote:
> 
> 
> On 17/01/2023 22:51, Andres Freund wrote:

>>>   int main(void)
>>> @@ -1960,18 +1966,19 @@ int main(void)
>>>   }
>>>   '''
>>> -  if cc.links(prog, name: '__crc32cb, __crc32ch, __crc32cw, and 
>>> __crc32cd without -march=armv8-a+crc',
>>> -      args: test_c_args)
>>> -    # Use ARM CRC Extension unconditionally
>>> -    cdata.set('USE_ARMV8_CRC32C', 1)
>>> -    have_optimized_crc = true
>>> -  elif cc.links(prog, name: '__crc32cb, __crc32ch, __crc32cw, and 
>>> __crc32cd with -march=armv8-a+crc',
>>> -      args: test_c_args + ['-march=armv8-a+crc'])
>>> -    # Use ARM CRC Extension, with runtime check
>>> -    cflags_crc += '-march=armv8-a+crc'
>>> -    cdata.set('USE_ARMV8_CRC32C', false)
>>> -    cdata.set('USE_ARMV8_CRC32C_WITH_RUNTIME_CHECK', 1)
>>> -    have_optimized_crc = true
>>> +    if cc.links(prog, name: '__crc32cb, __crc32ch, __crc32cw, and 
>>> __crc32cd without -march=armv8-a+crc',
>>> +        args: test_c_args)
>>
>> Seems like it'd be easier to read if you don't re-indent this, but 
>> just have
>> the cc.get_id() == 'msvc' part of this if/else-if.
>>
> 

I've attached a new version (v8) to fix the above indentation issue.

Could someone please help with the review ?

-- 
Niyas

Commits

  1. MSVC: Support building for AArch64.

  2. Remove "#ifdef WIN32" guards from src/port/win32*.c

  3. Adjust XML test case to avoid unstable behavior.

  4. Enable RandomizedBaseAddress (ASLR) on Windows with MSVC builds