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 1lybNP-0004nR-8a for pgsql-hackers@arkaria.postgresql.org; Wed, 30 Jun 2021 14:39:43 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lybNN-0001Cs-Q4 for pgsql-hackers@arkaria.postgresql.org; Wed, 30 Jun 2021 14:39:41 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lybNN-0001Ck-I9 for pgsql-hackers@lists.postgresql.org; Wed, 30 Jun 2021 14:39:41 +0000 Received: from out5-smtp.messagingengine.com ([66.111.4.29]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lybNH-0003ei-P8 for pgsql-hackers@postgresql.org; Wed, 30 Jun 2021 14:39:41 +0000 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id AEB205C020B; Wed, 30 Jun 2021 10:39:33 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Wed, 30 Jun 2021 10:39:33 -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=3hbKVbsuCdo+P7S1CI/bc5yCvnxTJhXm/NIQylQWi0U=; b=S+Z0JjUW UsQ9lG1ElQ4kuJptgv+KeR9yWxqMNGVnLrYCnGX2seYagQ0k/syO0PlixgCx7EoT /zOuiGMFZa/kyHQ+wEwFFf5xQQAcL0u6k2WVa/vJEhzS7Ldq8w6f0PSljd7aUpM6 3ntZN6qL+/ygOvJ1mX1zBZkPnQTspTx5KtoTLn/YyYnV8wP5lehNG71RpvzNgizu 1lQ31WFatyNqngegkKxDGlUm/VaeY1T6Y+SXgYqfS9KkjXHSAz4edNWWWrFrzEyu zpXfurvTjUqvRzZ/unu8rHzpGHZ0zHiEQM6qA+uobve1LNIHMBmOn4qpA0Wxvg+6 B9WnXoujxTWMtQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrfeeivddgjeelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvffukfggtggugfgjsehtkeertddttddunecuhfhrohhmpeetlhhvrghr ohcujfgvrhhrvghrrgcuoegrlhhvhhgvrhhrvgesrghlvhhhrdhnohdqihhprdhorhhgqe enucggtffrrghtthgvrhhnpeelhedvhfehtdduueejlefggeejvdeugfejfeetffethfej geeivdekteekgeehgfenucffohhmrghinhepvghnthgvrhhprhhishgvuggsrdgtohhmne cuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheprghlvhhh vghrrhgvsegrlhhvhhdrnhhoqdhiphdrohhrgh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 30 Jun 2021 10:39:32 -0400 (EDT) Received: by perhan.alvh.no-ip.org (Postfix, from userid 1000) id 7CC422A085A; Wed, 30 Jun 2021 10:39:29 -0400 (-04) Date: Wed, 30 Jun 2021 10:39:29 -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: <202106301439.dji3ms64lxlj@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <566226.1625062172@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 2021-Jun-30, Tom Lane wrote: > Alvaro Herrera writes: > > 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. > > Ah-hah, yeah, I see it too if I enable profiling. I can confirm > that it's not from the abort() call in path.c, because it's still > there if I remove that. So this is another case where build > infrastructure is injecting abort() calls we didn't ask for. Hah, I didn't think to try that. > Between this and the icc case, I'm now inclined to give up on > trying to forbid abort() calls in libpq. I think the value-add > for that is a lot lower than it is for exit() anyway. abort() > is something one doesn't toss around lightly. No objections to that. > You mentioned __gcov_exit, but I'm not sure if we need an > exception for that. I see it referenced by the individual .o > files, but the completed .so has no such reference, so at least > on RHEL8 it's apparently satisfied during .so linkage. Do you > see something different? Well, not really. I saw it but only after I removed -fprofile-arcs from Makefile.shlib's link line; but per my other email, that doesn't really work. Everything seems to work well for me after removing abort from that grep. -- Álvaro Herrera Valdivia, Chile https://www.EnterpriseDB.com/