From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Prevent accidental linking of system-supplied copies of libpq.so |
Date: | 2018-07-09 21:23:55 |
Message-ID: | E1fcddT-0002UB-C6@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Prevent accidental linking of system-supplied copies of libpq.so etc.
Back-patch commit dddfc4cb2, which broke LDFLAGS and related Makefile
variables into two parts, one for within-build-tree library references and
one for external libraries, to ensure that the order of -L flags has all
of the former before all of the latter. This turns out to fix a problem
recently noted on buildfarm member peripatus, that we attempted to
incorporate code from libpgport.a into a shared library. That will fail on
platforms that are sticky about putting non-PIC code into shared libraries.
(It's quite surprising we hadn't seen such failures before, since the code
in question has been like that for a long time.)
I think that peripatus' problem could have been fixed with just a subset
of this patch; but since the previous issue of accidentally linking to the
wrong copy of a Postgres shlib seems likely to bite people in the field,
let's just back-patch the whole change. Now that commit dddfc4cb2 has
survived some beta testing, I'm less afraid to back-patch it than I was
at the time.
This also fixes undesired inclusion of "-DFRONTEND" in pg_config's CPPFLAGS
output (in 9.6 and up) and undesired inclusion of "-L../../src/common" in
its LDFLAGS output (in all supported branches).
Back-patch to v10 and older branches; this is already in v11.
Discussion: https://postgr.es/m/20180704234304.bq2dxispefl65odz@ler-imac.local
Branch
------
REL9_3_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/f6f75539d24772126a975256b8df9f8d57b07851
Modified Files
--------------
contrib/dblink/Makefile | 2 +-
contrib/oid2name/Makefile | 2 +-
contrib/pgbench/Makefile | 3 ++-
contrib/postgres_fdw/Makefile | 2 +-
contrib/spi/Makefile | 2 --
contrib/vacuumlo/Makefile | 2 +-
src/Makefile.global.in | 25 +++++++++++++++--------
src/Makefile.shlib | 10 +++++++--
src/backend/replication/libpqwalreceiver/Makefile | 2 +-
src/bin/pg_config/Makefile | 2 +-
src/bin/pg_ctl/Makefile | 3 ++-
src/interfaces/ecpg/compatlib/Makefile | 4 ++--
src/interfaces/ecpg/ecpglib/Makefile | 3 ++-
src/interfaces/ecpg/pgtypeslib/Makefile | 2 +-
src/interfaces/ecpg/test/Makefile.regress | 5 +++--
src/interfaces/ecpg/test/compat_informix/Makefile | 3 +--
src/interfaces/libpq/test/Makefile | 4 ++--
src/makefiles/pgxs.mk | 4 +++-
src/test/examples/Makefile | 4 ++--
19 files changed, 51 insertions(+), 33 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2018-07-09 21:41:12 | Re: pgsql: Add wait event for fsync of WAL segments |
Previous Message | Andres Freund | 2018-07-09 20:39:15 | Re: pgsql: Fix crash when ALTER TABLE recreates indexes on partitions |