Re: Strip -mmacosx-version-min options from plperl build

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andrew Dunstan <andrew@dunslane.net>, Peter Eisentraut <peter.eisentraut@enterprisedb.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2022-08-26T20:25:41Z
Lists: pgsql-hackers
Hi,

On 2022-08-26 16:00:31 -0400, Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
> > On 2022-08-26 Fr 12:11, Tom Lane wrote:
> >> And if that doesn't help, try -Wl,--export-all-symbols
>
> > worked

Except that it's only happening for plperl, I'd wonder if it's possibly
related to our magic symbols being prefixed with _. I noticed that the
underscore prefix e.g. changes the behaviour of gcc's "collect2" on AIX, which
is responsible for exporting symbols etc.


> Hmph.  Hard to see how that isn't a linker bug.

Agreed, given that this is only happening with plperl, and not with any of the
other extensions...


> As a stopgap to get the farm green again, I propose adding something like
>
> ifeq ($(PORTNAME), cygwin)
> SHLIB_LINK += -Wl,--export-all-symbols
> endif
>
> to plperl's makefile.

:(

Greetings,

Andres Freund



Commits

  1. mingw: Define PGDLLEXPORT as __declspec (dllexport) as done for msvc

  2. Fix PL/Perl build on Cygwin

  3. Remove further unwanted linker flags from perl_embed_ldflags