From: Noah Misch <noah@leadboat.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Michael Paquier <michael@paquier.xyz>
Cc: Jacob Champion <pchampion@vmware.com>
Cc: pgsql-hackers@postgresql.org <pgsql-hackers@postgresql.org>
Cc: Daniel Gustafsson <daniel@yesql.se>
Cc: info@cspug.cz
Subject: Re: Preventing abort() and exit() calls in libpq
Date: Sat, 3 Jul 2021 14:46:58 -0700
Message-ID: <20210703214658.GA2421985@rfd.leadboat.com> (raw)
In-Reply-To: <1233492.1625323559@sss.pgh.pa.us>
References: <202107021459.7c2dkzyg5lua@alvherre.pgsql>
<819502.1625239217@sss.pgh.pa.us>
<20210703001639.GB2374652@rfd.leadboat.com>
<1231771.1625321413@sss.pgh.pa.us>
<1233492.1625323559@sss.pgh.pa.us>
On Sat, Jul 03, 2021 at 10:45:59AM -0400, Tom Lane wrote:
> I'd imagined leaving, e.g., psprintf.c out of libpgcommon_shlib.a.
> But if someone mistakenly introduced a psprintf call into libpq,
> it'd still compile just fine; the symbol would be resolved against
> psprintf in the calling application's code.
I think that would fail to compile on Windows, where such references need
exported symbols. We don't make an exports file for applications other than
postgres.exe. So the strategy that inspired this may work.
> What I'm now thinking about is restricting the test to only be run on
> platforms where use of foo.a libraries is deprecated, so that we can
> be pretty sure that we won't hit this situation. Even if we only
> run the test on Linux, that'd be plenty to catch any mistakes.
Hmm. Static libraries are the rarer case on both AIX and Linux, but I'm not
aware of a relevant deprecation on either platform. If it comes this to, I'd
be more inclined to control the Makefile rule with an environment variable
(e.g. ENFORCE_LIBC_CALL_RESTRICTIONS) instead of reacting to the platform.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: noah@leadboat.com, tgl@sss.pgh.pa.us, alvherre@alvh.no-ip.org, michael@paquier.xyz, pchampion@vmware.com, daniel@yesql.se, info@cspug.cz
Subject: Re: Preventing abort() and exit() calls in libpq
In-Reply-To: <20210703214658.GA2421985@rfd.leadboat.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox