Re: [PATCH] Fix build on MINGW on ARM64 - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: [PATCH] Fix build on MINGW on ARM64
Date
Msg-id 300fab7e-b052-4fd2-8e42-15380b777ab3@dunslane.net
Whole thread Raw
In response to Re: [PATCH] Fix build on MINGW on ARM64  (vignesh C <vignesh21@gmail.com>)
Responses Re: [PATCH] Fix build on MINGW on ARM64
List pgsql-hackers
On 2025-04-01 Tu 5:16 AM, vignesh C wrote:
> On Sun, 2 Feb 2025 at 00:52, Lars Kanis <lars@greiz-reinsdorf.de> wrote:
>> This patch limits the workaround of using __buildin_setjmp on the
>> Windows MINGW platform. This workaround is only necessary for legacy
>> MSVCRT based toolchain, but not for UCRT based. It is not available at
>> all on clang on ARM64 resulting in the following compiler error:
>>
>>    error: __builtin_longjmp is not supported for the current target
>>
>> This patch is used since years in MSYS2 packages:
>>
https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-postgresql/postgresql-14.0-use-mingw-setjmp-on-ucrt.patch
>>
>> It is also used in ruby-pg to allow compiling for
>> aarch64-w64-windows-gnu: https://github.com/ged/ruby-pg/pull/626/files
>>
>> It would be nice if this patch could be merged upstream.
> Are there any known issues with using __builtin_setjmp? I'm asking
> because the comment mentions about the long standing issues in its
> setjmp "However, it seems that MinGW-64 has some longstanding issues
> in its setjmp support,  so on that toolchain we cheat and use gcc's
> builtins. Also few users have reported segfaults when using setjmp
> with MinGW as in [1].
> [1] - https://stackoverflow.com/questions/53709069/setjmp-longjmp-in-x86-64-w64-mingw32
>

That report is from quite a few years ago, so I'm not sure it really helps.

If one of you would add this to the next CF we could see how the CFbot 
reacts to it. In general it looks sane.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com




pgsql-hackers by date:

Previous
From: Kirill Reshke
Date:
Subject: Re: in BeginCopyTo make materialized view using COPY TO instead of COPY (query).
Next
From: John Naylor
Date:
Subject: Re: Improve CRC32C performance on SSE4.2