Re: BUG #16920: Can't compile PostGIS with MingW64 against PostgreSQL 14 head

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Regina Obe <lr(at)pcorp(dot)us>, 'Heikki Linnakangas' <hlinnaka(at)iki(dot)fi>, 'Juan José Santamaría Flecha' <juanjo(dot)santamaria(at)gmail(dot)com>, 'PostgreSQL mailing lists' <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: BUG #16920: Can't compile PostGIS with MingW64 against PostgreSQL 14 head
Date: 2021-03-20 21:18:59
Message-ID: 20210320211859.bukyego7m3j4btfm@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi,

On 2021-03-19 20:37:17 -0400, Tom Lane wrote:
> Andres Freund <andres(at)anarazel(dot)de> writes:
> > On 2021-03-15 12:12:59 -0400, Tom Lane wrote:
> >> Although I remain worried about this being an ABI break, I don't think
> >> we are locked into it until we get to beta, or maybe even RC stage.
>
> > Could it make sense to define sigjmp_buf as a union over the potentially
> > needed implementations? That'd allow us to switch back without an ABI
> > break if we discover a problem with the gcc approach.
>
> No, it'd still be an ABI break, because the setjmp and the longjmp calls
> have to use the same implementation. Ain't gonna work if elog.c tries
> to throw via mingw's longjmp() while some extension contains a PG_TRY
> that uses __builtin_setjmp(). Nor vice versa.

Yea, I momentarily forgot that we can't easily wrap setjmp in a
function... I guess we could just make sigsetjmp set a flag that
indicates which longjmp to use, but that's probably more complication
than the issue / mingw warrants.

- Andres

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2021-03-21 09:17:20 BUG #16935: Unable to provide map= option when combining clientcert=verify-full with some auth mechanisms
Previous Message Tom Lane 2021-03-20 16:50:27 Re: BUG #16160: Minor memory leak in case of starting postgres server with SSL encryption