Re: pgsql: aix: No need to use mkldexport when we want to export all symbol

From: Andres Freund <andres(at)anarazel(dot)de>
To: Noah Misch <noah(at)leadboat(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: aix: No need to use mkldexport when we want to export all symbol
Date: 2022-09-13 06:11:23
Message-ID: 20220913061123.mxae5udw6ix2op7v@awork3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Hi,

On 2022-09-12 20:38:45 -0700, Noah Misch wrote:
> On Sun, Sep 11, 2022 at 11:19:25AM -0700, Andres Freund wrote:
> > On 2022-09-10 01:19:44 -0700, Andres Freund wrote:
> > > On 2022-09-09 22:57:36 -0700, Andres Freund wrote:
> > > > On 2022-09-10 01:32:52 -0400, Tom Lane wrote:
> > > > > Andres Freund <andres(at)anarazel(dot)de> writes:
> > > > > > It seem worth applying the -qvisibility patch and seeing whether that fixes
> > > > > > the buildfarm?
> > > > >
> > > > > Worth a try.
> > > >
> > > > Done now.
> > >
> > > Seems to have done the trick for at least hoverfly. And wrasse (sunpro) is
> > > still happy. Still need to wait for the older xlc's (mandril, hornet)
> > > though...
> >
> > At least hornet isn't happy:
> >
> > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=hornet&dt=2022-09-10%2021%3A44%3A00
> >
> > Looks like the support for -qvisibility came with xlc 13.1, released April 28, 2014:
> > https://www.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS214-162
>
> Last two sungazer (gcc64) runs failed with a suspicious "missing magic block":
> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=sungazer&dt=2022-09-12%2006%3A24%3A53
> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=sungazer&dt=2022-09-10%2018%3A09%3A11
>
> Both runs had the latest commits discussed above. tern (gcc32) passed, but it
> doesn't use --with-perl.

I'll check it out tomorrow. I configured perl on the other AIX gcc compile
farm machine building 64bit with both gcc and xlc, IIRC. I can't check rn,
they seem to be down?

What is "perl64-for-gcc"?

> > > -qvisibility option specifies visibility attributes for entities. Entity
> > > visibility attributes describe whether and how entities defined in one
> > > module can be referenced or used in other modules. Visibility attributes
> > > affect entities with external linkage only, and cannot increase the
> > > visibility of other entities.
> >
> >
> > Since xlc 13.1 supports all still supported AIX versions I'm inclined to think
> > we should increase our requirement to 13.1 rather than revert back to the
> > higher complexity way of building modules.
>
> Perhaps. That would demolish two buildfarm members.

Or you could update them to a slightly newer xlc? IIRC the machine has 13.x
available?

> What does PostgreSQL lose if you revert fe6a64a?

A somewhat readable Makefile.shlib. The prior state is complicated, specific
to AIX. I've several times spent quite a bit of time understanding it - not
helped by the complete lack of comments. It's not frequent enough to stay in
my brain unfortunately, so I'll have to relearn it again next time. And we'll
need to continue supporting Makefile.shlib for quite a while, so ...

I do not understand what value it has to run an ancient compiler on a very
niche, quite different, OS. I can see some value to supporting a larger number
of operating systems and compiles - but I can't see any sort of benefit in
also supporting old versions of those compilers.

Greetings,

Andres Freund

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Noah Misch 2022-09-13 06:39:04 Re: pgsql: aix: No need to use mkldexport when we want to export all symbol
Previous Message Noah Misch 2022-09-13 03:38:45 Re: pgsql: aix: No need to use mkldexport when we want to export all symbol