Always use -fPIC, not -fpic, when building shared libraries with gcc.
Tom Lane <tgl@sss.pgh.pa.us>
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
Files
| Path | Change | +/− |
|---|---|---|
| doc/src/sgml/dfunc.sgml | modified | +12 −14 |
| src/makefiles/Makefile.linux | modified | +3 −4 |
| src/makefiles/Makefile.netbsd | modified | +0 −4 |
| src/makefiles/Makefile.openbsd | modified | +0 −4 |
Discussion
- Getting Citus into (Debian) PGDG 26 messages · 2016-03-25 → 2017-06-02