Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1vI0rl-00ATxT-75 for pgsql-bugs@arkaria.postgresql.org; Sun, 09 Nov 2025 08:33:41 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1vI0ri-004f8A-MD for pgsql-bugs@arkaria.postgresql.org; Sun, 09 Nov 2025 08:33:38 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1vI0ri-004f7y-6p for pgsql-bugs@lists.postgresql.org; Sun, 09 Nov 2025 08:33:38 +0000 Received: from mout.gmx.net ([212.227.15.15]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vI0re-006Bkc-3D for pgsql-bugs@lists.postgresql.org; Sun, 09 Nov 2025 08:33:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1762677212; x=1763282012; i=torsten.rupp@gmx.net; bh=sgqsgRAYGJ/fEPFpHOkAo7MqGudjQCzgU8liTToE/aA=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To: References:From:In-Reply-To:Content-Type: Content-Transfer-Encoding:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=WcBJQwBZ+YuQ4DmcAvysh7Lx7rub69pTaT+oTLIgkuPikXyvt5ZNs34UiVQCmzbI UqYjtWsCR8tXFAUQLkEkpF1T2fPZOKyXf0Kh5DJQ3zfe2JW8LnFTdy3KmWjj1veXb tjSPvkPvFrLr+YjK0L0tEWYxb4OpAmAJgIUrV1NWN1wmhH3vk6yryrqNJ0b3jEgRO MdU/+BPj3ClfzzwAPI+w8F8CYaI52DS/oP3FID6yOY1ZmOysc+yFmHv8JzmCbrXsX 6Kmez6yEyep5J+5tqzHTmzkKLy3LSDjVmvhHvEnt5hGKdZ6eTwYjMnIs/cVp+576U /qV4HC5tgFvLvDyPFg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.22.10] ([77.3.249.227]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MplXz-1vzLpm3FyH-00agj4 for ; Sun, 09 Nov 2025 09:33:31 +0100 Message-ID: Date: Sun, 9 Nov 2025 09:33:16 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: BUG #19095: Test if function exit() is used fail when linked static To: pgsql-bugs@lists.postgresql.org References: <19095-6d8256d0c37d4be2@postgresql.org> From: Torsten Rupp Content-Language: en-US Autocrypt: addr=torsten.rupp@gmx.net; keydata= xsDiBEO+wNARBAC9bu5L3kkV9iIY94Eihu5wccSTZ8p49M9FnJtgPu6rUvD+szor8e0yyreD TiBgf5ZRpWvNZ2zFdpj1+fwKNz/GTZJ7N88F9XfhuvPixFxK7GqfKzgPZT1gQ8FRimUF9eVj giELFdTVsAa0ipiAmYZLLZoAF6baJR3plcaE88GEzwCgpH+yfxAQx94gVLM1kDncbPTuUwcD /2uoevvNqQWyaoEbczevNDAyZtqj5rc0QmViopJX0mgQCMaDH2W1suVoBA+/jMWDOqsl/Aw+ 34Q/n45LXBsLglV0oKj3lT/UzT5yH3Yp9G1fnRMgKT2EH7d21CYmHKfGUKWmbmYJL9U3bknF XwcRwKpj6V8G0+JVODuolsWx6YQwBAC3ovtun+ZlbFeL58/M5qG/uKEejS69cUvpDHUjSNqZ yEO0fF7xxFKvX04KWyzUfzV44v1V3o3LYGU78FwMU0pdD8+XHvtDo3w6/POtvEU0H61QuDBC NnSJXoQe48dAi9K64HF6T7JYAuOBiEV30LXnTyYto0Op8DB4Z/XF5vJ9t80jVG9yc3RlbiBS dXBwIDx0b3JzdGVuLnJ1cHBAZ214Lm5ldD7CWwQTEQIAGwUCQ77A0AYLCQgHAwIDFQIDAxYC AQIeAQIXgAAKCRDWdxCwuabC6WlwAJ94+eEN8Gm59F4gZjmvzGUgPqtBRgCdEYK76JO/Dg2b SZXqtTqhHt2TAQDOwU0EQ77A6hAIANtZKko/D0jj707/6IqdhFLTBGmD3R6q+aWbciJlVmpX I3qXtvUWBaGVegAPUmxecJyIgOfSthWA2KA2KYfkJnmhCEMSbFccqKU/t0qpWbyR9G8tayWb W7dFhLrahneln0879jYPmg1+b1SoECCJdx1iUXktXB9WxpSztEmamkZy10S6EGt17HQRFQof ysk+8vfhYEv6CIUMQjpjrKEl5hQgdl61aXOYKJdJKgdJbs0XxvVDQ4IuoJrMOb7zKRswKsH+ 0tnzInx5tqvTbLeHlUZqKKTdMdURWQhNw8il+uc4CoqhbUx5Bny3UYVZMX5SU6Ulm0WJzFUU tKVX4FiLVOcAAwUH/iP6G63zA03VqweGUZKGgNkscrV9jaDJU1dQrZBkxWSyoBwxHq16lpGL XT9ieCevXkT8IqZ/7rXmpBEmI3HrQxN2muRVNV+Pt7CJ0t5317WZfC/YnQGEBGHI/n0gn0Cn icClYEciJow9zD5XF4auk48T8aD2qWxcHksON9L0enz8Ku/rz/pio/PSODTDwMtTJcq0Bjn2 bboCGMDAlZPMfMNulusQFqnXhJI8L8AxZjmX9Xq+wi5TdpZYkQlTCzj+pLizvLWKBC+7OC04 67YUiT1MekENsWUcdCOVwh4Gq6soCgOu3QHz3jez4R82KxuPbYEbMMGvcwQaMsxYbo2RoY3C RgQYEQIABgUCQ77A6gAKCRDWdxCwuabC6UbDAJ9RcXpuMPKWxGVOV8zDpiwV6v26GgCdFU22 bk1TC0UY69vY5e/YkBX12pM= In-Reply-To: <19095-6d8256d0c37d4be2@postgresql.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:zk2+7gc7VVVpJEZt04cvPBuIrwzigKWOfVP0w5I/5/+HidpLJkV QEtsIitejqoCs7B9mZZ+z+NwDzlYJpxiAMez+wI1HQR3dF8YUzwnozNJiph/kjjEWe1Uyoh jR+wJoW8bwjixNO4PQkJjqVgP6KCOek3JeXsCFLZzn5OWUbxS6IBM6TD85aJlT8lVoQsToN tL5qVEBJyKWRzjXsOE3IQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:oGdJM1CW2Ns=;Z+H4LzapHHlZp7uwULz7kXO/l3E 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 +1PVOvrWgLvzTZx5L1pDGe6J5281se+tO8A= List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Dear developers, I opened this request for a behavior concerning functions with the name=20 part "exit": > Bug reference: 19095 > Logged by: Torsten Rupp > Email address: torsten.rupp@gmx.net > PostgreSQL version: 15.14 > Operating system: Linux > Description: >=20 > Note: occur from version 15.14 or newer. >=20 > In src/interfaces/libpq/Makefile is a test if the function "exit()" (or = in > general: a function exists with the name part "exit") is used: >=20 > libpq-refs-stamp: $(shlib) > ifneq ($(enable_coverage), yes) > ifeq (,$(filter aix solaris,$(PORTNAME))) > @if nm -A -u $< 2>/dev/null | grep -v __cxa_atexit | grep exit;= then > \ > echo 'libpq must not be calling any function which invo= kes > exit'; exit 1; \ > fi > endif > endif >=20 > This test fail if libpq is linked static to an application when e. g. > libcrypto is also linked static into libpq which add indirectly a call t= o > "pthread_exit()". >=20 > Possible fix: exclude pthread_exit(), too (like __cxa_atexit), e.g.: >=20 > libpq-refs-stamp: $(shlib) > ifneq ($(enable_coverage), yes) > ifeq (,$(filter aix solaris,$(PORTNAME))) > @if nm -A -u $< 2>/dev/null | grep -v __cxa_atexit | grep -v > pthread_exit | grep exit; then \ > echo 'libpq must not be calling any function which invo= kes > exit'; exit 1; \ > fi > endif > endif BTW: if you wonder about static linkage: I'm aware of the disadvantages,= =20 but I use static linkage for a backup tool which should run e. g. in any= =20 live Linux from a USB medium, thus it should have as less dependencies=20 to shared libraries as possible. A non-static version of the tool is=20 also available. The issue does not occur with shared libraries, because=20 then no function with the name part "exit" is linked into libpq. Thank you for your attention. Best regards, Torsten Rupp