delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2025/11/10/08:30:00

DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 5AADTxDS1138894
Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com
Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 5AADTxDS1138894
Authentication-Results: delorie.com;
dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=yrJKKlf2
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 05FA93858C41
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1762781398;
bh=FDLQ0TJ3sVAUuqwKsSBpwYz9gijVLsUwVqUZYx8Ychw=;
h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:
From;
b=yrJKKlf2wPuE3C7M0jd2Y7namC5pXwxiYE2T3sUvJgy0kxa740mYXrFtsYTkWb8Aw
pv9DWDoHJ2VUDe0SSOFCG7NmW5Fz2bGIZlHCYUnWaZjfycBakkLcQFlXLJTr7cuCbE
zBseTL/Yr2w9f948VAOQwOsWvbge9j9vZ31Y8Ujc=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A09F43858C62
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A09F43858C62
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1762780821; cv=none;
b=ul8/jcTLbJc5bbrFNSXndmrb7poRG0h/EQa6nAqemhFtbAxaBGrhHMrgUwW/BjjZnTTW/T4WFfpbFST822DOIELZk12T5PvNLIwI2VtnTk6cYVyqysqvAWtBu0uxKHP4izH415XQWeCdabggSqd2DRT+pflsw+XWjBF5vkuOKc8=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
t=1762780821; c=relaxed/simple;
bh=rkReUseeHdbhEhZFEdbasgGqJdDXb8dEitFahoJfanM=;
h=Subject:To:From:Message-ID:Date:MIME-Version;
b=QrUYJpzQhMRp+GN76rHXYpR+/ZfNTFB9JbXTWvp/jsTqBDMDmABL3q0xxj2YVDIvs1FuIOqTwGpAbGPipGi4Vr0hduTKbBlCNv1b2VcqOlznCNfrqmxi1PI0S8JnF/fooMg2snaWf0zEXyAezY7lihypGrt7J76Quan0kAjqQwE=
ARC-Authentication-Results: i=1; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A09F43858C62
Subject: Re: libargp package breaks getent utility
To: cygwin AT cygwin DOT com
References: <CALXu0UfOCJ=svwfY4-4FAT+pPiNbcm6AZ=Wyv_Wi+57med6Hdw AT mail DOT gmail DOT com>
<CALXu0Ue69cwiE=1dmEMn2X8ocBXNYoq+2A8frPtX5CCp-25Seg AT mail DOT gmail DOT com>
<e697423a-c10b-1a81-5d95-1d922245feff AT t-online DOT de>
<0cde1aff-838d-d9d9-1ac7-192ae5291335 AT t-online DOT de>
<qoe1hk5q6n28r3892omhf271gdgbma7hsb AT 4ax DOT com>
<25925dea-8233-4001-aa54-6c60c02b554b AT dronecode DOT org DOT uk>
Message-ID: <1853508c-7d4c-393d-69ac-e561404a7aaf@t-online.de>
Date: Mon, 10 Nov 2025 14:20:18 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101
SeaMonkey/2.53.21
MIME-Version: 1.0
In-Reply-To: <25925dea-8233-4001-aa54-6c60c02b554b@dronecode.org.uk>
X-TOI-EXPURGATEID: 150726::1762780818-4EFFA93D-E826D083/0/0 CLEAN NORMAL
X-TOI-MSGID: ff5fb0c3-1067-4794-be2b-5d8851146b8a
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Christian Franke via Cygwin <cygwin AT cygwin DOT com>
Reply-To: cygwin AT cygwin DOT com
Cc: Christian Franke <Christian DOT Franke AT t-online DOT de>
Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>

This is a multi-part message in MIME format.
--------------E26304995D99600C1831AEF3
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Jon Turney via Cygwin wrote:
> On 09/11/2025 16:02, Andrew Schulman via Cygwin wrote:
>>> A message box shown when running an affected program directly from
>>> cmd.exe reveals the problem: Entrypoint "argp_parse" is missing.
>>>
>>> $ objdump -p /bin/cygargp-0.dll | grep argp_parse
>>>          [  56] +base[  57]  0038 rpl_argp_parse
>>>
>>> Previous version:
>>>
>>> $ objdump -p /bin/cygargp-0.dll | grep argp_parse
>>>          [  24] +base[  25]  0018 argp_parse
>>>
>>>
>>> Current <argp.h> actually maps 'argp_parse' to 'rpl_argp_parse':
>>>
>>> $ printf '#include <argp.h>\nargp_parse' | gcc -E -xc - | tail -1
>>> rpl_argp_parse
>>>
>>> $ grep -B1 rpl_argp_parse /usr/include/argp-config.h
>>> /* Define to the name of argp_parse outside libc. */
>>> #define argp_parse rpl_argp_parse
>>
>> Good grief. Thanks Christian. So I see a few possible solutions to this:
>>
>> (1) Recompile all of the Cygwin programs that use argp, so they call 
>> the new
>> entry point rpl_argp_parse, aliased from argp_parse. (I don't really 
>> want to
>> do this)
>>
>> (2) Patch the gnulib source to make argp_parse a function that points to
>> rpl_argp_parse, instead of just a #define.
>>
>> (3) File a bug report with the gnulib project and see if they'll fix it.
>
> There are a few other possibilities, such as:
>
> (4) If upstream really intends this to be an ABI break, bump the 
> soversion to 1 in a new package libargp1 (and we'll keep the existing 
> libargp (effectively libargp0) around until stuff linking with it is 
> rebuilt).
>
> (5) If upstream thinks there isn't a stable ABI, stop providing a 
> shared library, only a static one in libargp-devel.
>

(6) Patch the gnulib source to drop the #define.

According to this comment+link in argp.m4, the define exists due to a 
conflict with same function from glibc:

    dnl Rename argp_parse to another symbol, so that clang's ASAN does not
    dnl intercept it.
    dnl See 
<https://lists.gnu.org/archive/html/bug-gnulib/2023-12/msg00035.html>.
    AC_DEFINE([argp_parse], [rpl_argp_parse],
     [Define to the name of argp_parse outside libc.])

Under the assumption that there are no plans to add argp_parse() to 
cygwin1.dll, it would IMO make more sense to keep the original name.

(Smoke-)tested patch attached.

-- 
Regards,
Christian


--------------E26304995D99600C1831AEF3
Content-Type: text/plain; charset=UTF-8;
 name="libargp-no-rpl_argp_parse.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="libargp-no-rpl_argp_parse.patch"

ZGlmZiAtdSBvcmlnc3JjL2dudWxpYi9hcmdwL2dsbTQvYXJncC5tNCBzcmMvZ251bGliL2Fy
Z3AvZ2xtNC9hcmdwLm00Ci0tLSBhL2FyZ3AvZ2xtNC9hcmdwLm00CTIwMjUtMTEtMDggMDE6
Mzg6MzUuMDAwMDAwMDAwICswMTAwCisrKyBiL2FyZ3AvZ2xtNC9hcmdwLm00CTIwMjUtMTEt
MTAgMTI6MjU6NDguOTA5MDY2NjAwICswMTAwCkBAIC0xNSw4ICsxNSw4IEBACiAgIGRubCBS
ZW5hbWUgYXJncF9wYXJzZSB0byBhbm90aGVyIHN5bWJvbCwgc28gdGhhdCBjbGFuZydzIEFT
QU4gZG9lcyBub3QKICAgZG5sIGludGVyY2VwdCBpdC4KICAgZG5sIFNlZSA8aHR0cHM6Ly9s
aXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9idWctZ251bGliLzIwMjMtMTIvbXNnMDAwMzUu
aHRtbD4uCi0gIEFDX0RFRklORShbYXJncF9wYXJzZV0sIFtycGxfYXJncF9wYXJzZV0sCi0g
ICAgW0RlZmluZSB0byB0aGUgbmFtZSBvZiBhcmdwX3BhcnNlIG91dHNpZGUgbGliYy5dKQor
ICBkbmwgQUNfREVGSU5FKFthcmdwX3BhcnNlXSwgW3JwbF9hcmdwX3BhcnNlXSwKKyAgZG5s
ICBbRGVmaW5lIHRvIHRoZSBuYW1lIG9mIGFyZ3BfcGFyc2Ugb3V0c2lkZSBsaWJjLl0pCiAK
ICAgQUNfQ0hFQ0tfREVDTFMoW3Byb2dyYW1faW52b2NhdGlvbl9uYW1lXSwKICAgICBbXSwK

--------------E26304995D99600C1831AEF3
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

--------------E26304995D99600C1831AEF3--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019