]> granicus.if.org Git - postgresql/commit
Always use -fPIC, not -fpic, when building shared libraries with gcc.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 1 Jun 2017 17:32:56 +0000 (13:32 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 1 Jun 2017 17:32:56 +0000 (13:32 -0400)
commit8d9b4fe01b5e717ad85d3a3beeabf8e212524b04
treef55199ccf6c26921927bcfc7e9d3c258903aca21
parent1849b72169cdfb60794766c6fc6593bcc7c9a936
Always use -fPIC, not -fpic, when building shared libraries with gcc.

On some platforms, -fpic fails for sufficiently large shared libraries.
We've mostly not hit that boundary yet, but there are some extensions
such as Citus and pglogical where it's becoming a problem.  A bit of
research suggests that the penalty for -fPIC is small, in the
single-digit-percentage range --- and there's none at all on popular
platforms such as x86_64.  So let's just default to -fPIC everywhere
and provide one less thing for extension developers to worry about.

Per complaint from Christoph Berg.  Back-patch to all supported branches.
(I did not bother to touch the recently-removed Makefiles for sco and
unixware in the back branches, though.  We'd have no way to test that
it doesn't break anything on those platforms.)

Discussion: https://postgr.es/m/20170529155850.qojdfrwkkqnjb3ap@msg.df7cb.de
doc/src/sgml/dfunc.sgml
src/makefiles/Makefile.linux
src/makefiles/Makefile.netbsd
src/makefiles/Makefile.openbsd