Andres Freund <andres@anarazel.de> writes:
> On 2022-02-07 20:42:09 -0500, Tom Lane wrote:
>> ... Peter just copied the logic in 7662419f1. Considering that
>> the point of 7662419f1 was to get rid of MakeMaker, maybe we no
>> longer needed that at that point.
> Yea. And maybe what was broken in 2001 isn't broken anymore either ;)
Yeah --- note that Bruce was complaining about a problem on
Perl 5.005, which was already a bit over-the-hill in 2001.
> AIX is the one exception. Specifying -bE... doesn't seem right for building
> plperl etc. So possibly the subtraction accidentally does work for us there...
I tried this on AIX 7.2 (using the gcc farm, same build options
as hoverfly). The build still works and passes regression tests,
but you get a warning about each symbol exported by Perl itself:
...
ld: 0711-415 WARNING: Symbol PL_veto_cleanup is already exported.
ld: 0711-415 WARNING: Symbol PL_warn_nl is already exported.
ld: 0711-415 WARNING: Symbol PL_warn_nosemi is already exported.
ld: 0711-415 WARNING: Symbol PL_warn_reserved is already exported.
ld: 0711-415 WARNING: Symbol PL_warn_uninit is already exported.
ld: 0711-415 WARNING: Symbol PL_WB_invlist is already exported.
ld: 0711-415 WARNING: Symbol PL_XPosix_ptrs is already exported.
ld: 0711-415 WARNING: Symbol PL_Yes is already exported.
ld: 0711-415 WARNING: Symbol PL_Zero is already exported.
So there's about 1200 such warnings for plperl, and then the same
again for each contrib foo_plperl module. Maybe that's annoying
enough that we should keep the logic. OTOH, it seems entirely
accidental that it has that effect. I'd be a little inclined to
replace it with some rule about stripping '-bE:' switches out of
the ldopts result.
regards, tom lane