Re: Preventing abort() and exit() calls in libpq

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Jacob Champion <pchampion@vmware.com>
Cc: "peter.eisentraut@enterprisedb.com" <peter.eisentraut@enterprisedb.com>, "daniel@yesql.se" <daniel@yesql.se>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>, "michael@paquier.xyz" <michael@paquier.xyz>
Date: 2021-06-30T22:56:56Z
Lists: pgsql-hackers
Jacob Champion <pchampion@vmware.com> writes:
> On Wed, 2021-06-30 at 18:29 -0400, Tom Lane wrote:
>> Looks like we'd have to make use of a dummy stamp-file, more or less
>> as attached.  Any objections?

> Spitballing -- if you don't like the stamp file, you could add the
> check to the end of the $(shlib) rule, surrounded by an ifeq check.
> Then .DELETE_ON_ERROR should take care of the rest, I think.

Hmm ... I'd been thinking we don't use .DELETE_ON_ERROR, but on
second look we do, so that could be a plausible approach.

On balance though, the separate rule seems better, because
.DELETE_ON_ERROR would destroy the evidence about why "nm"
failed, which could be annoying when investigating problems.

			regards, tom lane



Commits

  1. Further restrict the scope of no-exit()-in-libpq test.

  2. Improve build-time check that libpq doesn't call exit().

  3. Fix portability fallout from commit dc227eb82.

  4. Add a build-time check that libpq doesn't call exit() or abort().