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

Jacob Champion <pchampion@vmware.com>

From: Jacob Champion <pchampion@vmware.com>
To: "tgl@sss.pgh.pa.us" <tgl@sss.pgh.pa.us>
Cc: "daniel@yesql.se" <daniel@yesql.se>, "info@cspug.cz" <info@cspug.cz>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>, "alvherre@alvh.no-ip.org" <alvherre@alvh.no-ip.org>, "michael@paquier.xyz" <michael@paquier.xyz>
Date: 2021-07-02T22:51:55Z
Lists: pgsql-hackers
On Fri, 2021-07-02 at 18:45 -0400, Tom Lane wrote:
> Jacob Champion <pchampion@vmware.com> writes:
> > On Fri, 2021-07-02 at 18:20 -0400, Tom Lane wrote:
> > > What configure options are you using?
> > Just `./configure --enable-coverage`, nothing else. I distclean'd right
> > before for good measure.
> 
> Hmph.  There's *something* different about your setup from what
> either Alvaro or I tried.  What's the compiler (and version)?
> What's the platform exactly?

    $ gcc --version
    gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
    Copyright (C) 2019 Free Software Foundation, Inc.
    ...

    $ cat /etc/os-release
    NAME="Ubuntu"
    VERSION="20.04.2 LTS (Focal Fossa)"
    ID=ubuntu
    ID_LIKE=debian
    PRETTY_NAME="Ubuntu 20.04.2 LTS"
    VERSION_ID="20.04"
    ...

    $ uname -a
    Linux HOSTNAME 5.8.0-59-generic #66~20.04.1-Ubuntu SMP Thu Jun 17 11:14:10 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

--Jacob

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().