aix: when building with gcc, tell gcc we're building a shared library
authorAndres Freund <andres@anarazel.de>
Thu, 1 Sep 2022 18:49:36 +0000 (11:49 -0700)
committerAndres Freund <andres@anarazel.de>
Thu, 1 Sep 2022 18:49:36 +0000 (11:49 -0700)
commite5484554ba90536aaff42db588a6397633713c43
tree52158fff89e11285fee77dd45f6209ccaa6ce081
parenta1b9b14cc80327854ff667973096a230434a2386
aix: when building with gcc, tell gcc we're building a shared library

Not passing -shared to gcc when building a shared library triggers linking to
the wrong libgcc (libgcc.a instead of libgcc_s.a) and prevents emitting
correct unwind information. It's somewhat surprising that this hasn't caused
known problems so far.

Doing so requires adding path to libgcc to libpath, or linking statically to
libgcc - as the latter increases .so size substantially (for not entirely
obvious reasons), shared linking seems preferrable.  It likely is worth
building executables with -shared-libgcc too, but I've not done that here.

Discussion: https://postgr.es/m/20220820174213.d574qde4ptwdzoqz@awork3.anarazel.de
src/makefiles/Makefile.aix