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 1lyZys-00024G-Sd for pgsql-hackers@arkaria.postgresql.org; Wed, 30 Jun 2021 13:10:18 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lyZyq-00077b-Lr for pgsql-hackers@arkaria.postgresql.org; Wed, 30 Jun 2021 13:10:16 +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 1lyZyq-00077T-E1 for pgsql-hackers@lists.postgresql.org; Wed, 30 Jun 2021 13:10:16 +0000 Received: from out2-smtp.messagingengine.com ([66.111.4.26]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lyZym-0002rp-7c for pgsql-hackers@postgresql.org; Wed, 30 Jun 2021 13:10:15 +0000 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 61C5B5C01DB; Wed, 30 Jun 2021 09:10:10 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Wed, 30 Jun 2021 09:10:10 -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=zR4htE0CPoji6JNgwIFRYfq+9pPj38aZdO1FqeuJMLs=; b=cxxxiW1C UVlA7JCSgDOQ+HNxXPIbtyZbcFKbRhZ977GCpB3NtaymJU8Siswz9vkwnUkndtL6 dlljRNgsRoAvO7QTJ8VcUg0z74gHKv4/I1zMWqxnK5Dfmch62BNjqaxzZDqYebp8 pgVkRJfwC/9b1UpbQyzG6KWs6ao8bxNtGvN//pjvFEp74SWxEZ8Tya8Wd8llae5t OiLVlhhlO+ejyWdO1BWPapT/56/+rnq4bW8BN9qCUY5sH8Rl7eDRUq5CFBeG+sq0 +R/MeWPCdqEpGKIfE/NNp0gjhdJApCRYUwFliP5XRUztBNQA/iPpOcQ9oIKROsQl IZ8bGh8i+y0l0w== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrfeeivddgieduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvffukfggtggugfgjsehtkeertddttddunecuhfhrohhmpeetlhhvrghr ohcujfgvrhhrvghrrgcuoegrlhhvhhgvrhhrvgesrghlvhhhrdhnohdqihhprdhorhhgqe enucggtffrrghtthgvrhhnpeelhedvhfehtdduueejlefggeejvdeugfejfeetffethfej geeivdekteekgeehgfenucffohhmrghinhepvghnthgvrhhprhhishgvuggsrdgtohhmne cuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheprghlvhhh vghrrhgvsegrlhhvhhdrnhhoqdhiphdrohhrgh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 30 Jun 2021 09:10:09 -0400 (EDT) Received: by perhan.alvh.no-ip.org (Postfix, from userid 1000) id E90D82A085A; Wed, 30 Jun 2021 09:10:06 -0400 (-04) Date: Wed, 30 Jun 2021 09:10:06 -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: <202106301310.hcgqcu3dxumf@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <202106301258.xdrqcxocchyg@alvherre.pgsql> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 2021-Jun-30, Alvaro Herrera wrote: > 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. If I remove -fprofile-arcs from CFLAGS, then abort is no longer present, but we still get a fail because of __gcov_exit. I suppose if you'd add an exception for __cxa_atexit, the same place could use one for __gcov_exit. I'm not sure what to make of the -fprofile-arcs stuff though. -- Álvaro Herrera Valdivia, Chile https://www.EnterpriseDB.com/ "Java is clearly an example of money oriented programming" (A. Stepanov)