Re: meson PGXS compatibility
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: pgsql-hackers@postgresql.org, Nazir Bilal Yavuz <byavuz81@gmail.com>, Peter Eisentraut <peter.eisentraut@enterprisedb.com>, Tom Lane <tgl@sss.pgh.pa.us>
Date: 2022-10-07T19:16:08Z
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
Commits
-
meson: Add basic PGXS compatibility
- 5bdd0cfb9103 16.0 landed
-
autoconf: Move export_dynamic determination to configure
- 9db49fc5bfdc 16.0 landed
-
autoconf: Don't AC_SUBST() LD in configure
- 069de07eae73 16.0 landed
-
autoconf: Unify CFLAGS_SSE42 and CFLAGS_ARMV8_CRC32C
- e0f0e08e17a6 16.0 landed
-
autoconf: Rely on ar supporting index creation
- 2473cb9ff374 16.0 landed