Re: meson PGXS compatibility

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-hackers(at)postgresql(dot)org, Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: meson PGXS compatibility
Date: 2022-10-07 19:16:08
Message-ID: 20221007191608.dlcs56br2jjfpqfz@awork3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2022-10-05 13:07:10 -0700, Andres Freund wrote:
> 0003: aix: Build SUBSYS.o using $(CC) -r instead of $(LD) -r
>
> This is the only direct use of $(LD), and xlc -r and gcc -r end up with the
> same set of symbols and similar performance (noise is high, so hard to say if
> equivalent).
>
> Now that $(LD) isn't needed anymore, remove it from src/Makefile.global
>
> While at it, add a comment why -r is used.

Unfortunately experimenting further with this it turns out I was wrong: While
xlc -r results in the same set of symbols, that's not true with gcc -r, at
least with some versions of gcc. gcc ends up exposing some of the libgcc
symbols.

That can be rectified by adding -nostartfiles -nodefaultlibs, but that
basically makes the change as-is pointless.

I think it'd still be good to get rid of setting LD via configure.ac,
mirroring the detection logic in meson sounds like a bad plan.

Given this is aix specific, and only the aix linker works on aix (binutils'
doesn't), I think the best plan might be to just hardcode ld in the rule
generating postgres.imp.

Greetings,

Andres Freund

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Zhihong Yu 2022-10-07 19:16:22 Re: Add support for DEFAULT specification in COPY FROM
Previous Message Israel Barth Rubio 2022-10-07 19:09:28 Re: Add support for DEFAULT specification in COPY FROM