Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lyZnc-0001kG-KI for pgsql-hackers@arkaria.postgresql.org; Wed, 30 Jun 2021 12:58:40 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lyZnb-0003Ot-Jm for pgsql-hackers@arkaria.postgresql.org; Wed, 30 Jun 2021 12:58:39 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lyZnb-0003Nq-C8 for pgsql-hackers@lists.postgresql.org; Wed, 30 Jun 2021 12:58:39 +0000 Received: from out2-smtp.messagingengine.com ([66.111.4.26]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lyZnY-00008z-4M for pgsql-hackers@postgresql.org; Wed, 30 Jun 2021 12:58:38 +0000 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 4AF7C5C0118; Wed, 30 Jun 2021 08:58:35 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute6.internal (MEProxy); Wed, 30 Jun 2021 08:58:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; bh=Xe4W4pKCjRWCfh6FxkCwMnqOCdP5gbjK0WcefdiX6x8=; b=Ck0ZsmpK 9Yhe560d8wt3q/iwQC8eOXj6SCWf1doc3qtDWSk2E8Jo51S9JxkQONrT6loFH0bl 6KQNK9rG8DAF5m3uLfHf1nDAPcQGKuLrdnpS+j8dLpEamwCfxu7Ol9F/jQBFqKcw gi756GUx7RxCfUGWYoqqMXuMuT6cCdLmuwwSuZL43jL8PjMUEA4gFPI59gPBRreJ 3zyH3CPdAiuVoOohIT/+FMjTFrCVEP8ZHLFE3pwf30AT0jn/eYIuHFEuN2XpTWUq 8sqms91OzpeuDA8+qH7Vxy5mxgoFTFjwcDRxyccUgb0Rjo4M6qbxxDz4M/RvjMwI K0JSq72aC5iJeA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrfeeivddgheejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvffukfggtggugfgjsehtkeertddttddunecuhfhrohhmpeetlhhvrghr ohcujfgvrhhrvghrrgcuoegrlhhvhhgvrhhrvgesrghlvhhhrdhnohdqihhprdhorhhgqe enucggtffrrghtthgvrhhnpeelhedvhfehtdduueejlefggeejvdeugfejfeetffethfej geeivdekteekgeehgfenucffohhmrghinhepvghnthgvrhhprhhishgvuggsrdgtohhmne cuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheprghlvhhh vghrrhgvsegrlhhvhhdrnhhoqdhiphdrohhrgh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 30 Jun 2021 08:58:34 -0400 (EDT) Received: by perhan.alvh.no-ip.org (Postfix, from userid 1000) id 72E192A085A; Wed, 30 Jun 2021 08:58:31 -0400 (-04) Date: Wed, 30 Jun 2021 08:58:31 -0400 From: Alvaro Herrera To: Tom Lane Cc: Michael Paquier , Jacob Champion , "pgsql-hackers@postgresql.org" , Daniel Gustafsson , info@cspug.cz Subject: Re: Preventing abort() and exit() calls in libpq Message-ID: <202106301258.xdrqcxocchyg@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <523290.1625021963@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 2021-Jun-29, Tom Lane wrote: > Alvaro Herrera writes: > > Ah, I nm'd all files in src/interfaces/libpq and got no hits for abort. > > But I did get one in libpgport_shlib.a: > > > path_shlib.o: > > U abort > > Yeah, there is one in get_progname(). But path.o shouldn't be getting > pulled into libpq ... else why aren't all the animals failing? Maybe there's something about the linker flags being used. ... ah yeah, if I configure with coverage enabled on my machine, it fails in the same way. > What platform does the coverage report run on exactly? It's Debian Buster. libpq.so is linked as gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -fprofile-arcs -ftest-coverage -O0 -pthread -D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS -fPIC -shared -Wl,-soname,libpq.so.5 -Wl,--version-script=exports.list -o libpq.so.5.15 fe-auth-scram.o fe-connect.o fe-exec.o fe-lobj.o fe-misc.o fe-print.o fe-protocol3.o fe-secure.o fe-trace.o legacy-pqsignal.o libpq-events.o pqexpbuffer.o fe-auth.o fe-secure-common.o fe-secure-openssl.o -L../../../src/port -L../../../src/common -lpgcommon_shlib -lpgport_shlib -L/usr/lib/llvm-6.0/lib -Wl,--as-needed -Wl,-rpath,'/usr/local/pgsql/lib',--enable-new-dtags -lssl -lcrypto -lm -lldap_r and libpgport was just ar crs libpgport_shlib.a fls_shlib.o getpeereid_shlib.o strlcat_shlib.o strlcpy_shlib.o pg_crc32c_sse42_shlib.o pg_crc32c_sb8_shlib.o pg_crc32c_sse42_choose_shlib.o bsearch_arg_shlib.o chklocale_shlib.o erand48_shlib.o inet_net_ntop_shlib.o noblock_shlib.o path_shlib.o pg_bitutils_shlib.o pg_strong_random_shlib.o pgcheckdir_shlib.o pgmkdirp_shlib.o pgsleep_shlib.o pgstrcasecmp_shlib.o pgstrsignal_shlib.o pqsignal_shlib.o qsort_shlib.o qsort_arg_shlib.o quotes_shlib.o snprintf_shlib.o strerror_shlib.o tar_shlib.o thread_shlib.o -- Álvaro Herrera Valdivia, Chile https://www.EnterpriseDB.com/