X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0F80038582BD
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1704191083;
	bh=abp8Xor1Og7os2nPcdEBOYZYovtURvF2hNsmiE2+Dkw=;
	h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive:
	 List-Post:List-Help:List-Subscribe:From:Reply-To:From;
	b=o6p9bRAfFki+ucsT1wDrK2owHSPmTQRv5g5EOjjzYJwAMGDNtN4dh3B9y8F/gpMuH
	 DaOKee8zKHvo+SvbIIpQAqrzTtkMwkBQXdFqAigf4pZn6sPAIvKWCMam1jdFJrv3rh
	 h38NU8whGAjNpqNVzOuKbs9hlinpQ8/xYzMondaM=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 72DFA3858401
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 72DFA3858401
ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1704191015; cv=pass;
 b=aK0c40Sp/goTM8ppd4Wih7aXylsSkGOMK6HVw1eZT210Wx3eBIsH/rMf6XRn8bUh8pd951hU0KPY4QRiq+QjmtSDJ2BbepbVkKE/uUDuRr+xhP3pPOT+0+0r8avPPGGMhPwSxgslM771+A2nJRXBkrol1SuPoWjHIpgLCjTSfaA=
ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key;
 t=1704191015; c=relaxed/simple;
 bh=yEGzjD7edASu/t7qyMfK0ecAIZ24P5nxgOYWIsytyJk=;
 h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID:
 MIME-Version;
 b=xHyLrkyfR0l8qxwNcj1jLQlRugk5LrS01XeRX3fc/59ICoHiRsgI9B9logetG88/RS2LDiPaDsaAarN//gZDkuIX8TFrBaJ+tmvhOxSKN6QRxKHfIxBBptPO8C2lS3HMpEb977su15GHPvOezZ5YlI4sxaMBN65mkeFkK8T7HYU=
ARC-Authentication-Results: i=2; server2.sourceware.org
ARC-Seal: i=1; a=rsa-sha256; t=1704191006; cv=none;
 d=strato.com; s=strato-dkim-0002;
 b=WY8KnjLxoQRIXos2n/nQSMjzxLH9861qK/cX31QawJyJ9vTT5mwmWazQVI32cp9L6Z
 GN52Jsw6YGT932hwNEJr/W4QaLqgVHWtozrpAJkggLMgsGaBPA/nBNil+o9Pe9RZYMrr
 sHiB5En7HLDQd6VAo05NxSo/9rYMgq+9jpgYKMhoU34mUeTmF1B/BbOHLXQFmnhHR1D9
 uXC2m9R1YoDiKPbwRXP6CZfxUWkVQKm6lQdQPtWdW7yeS/VNLPDl+Ofhb6xQ/U8NrTvQ
 HZb3PVrsKXzqQIuOJwN29a3sOvyaK4jJj7i42YOFpxSZSUnSA5++5YtQ+bVBGk6TFKmb
 ddpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1704191006;
 s=strato-dkim-0002; d=strato.com;
 h=Message-ID:Date:Subject:Cc:To:From:Cc:Date:From:Subject:Sender;
 bh=jNOSGZvtzEmTVc+4jOqAEO735BdV9my9Xrhg3HFmaVI=;
 b=R23xHzQ7PlPWVzwxt8AswGCireTtY+9CoGqyjh6B5PzOcrEBIDOE9lZm1VmHwoQIlJ
 JCPxmp/Nof9SKYYks5rCN+dHqYNPnlip4H0B8p2vwmtfMp8B/DizfV1Z9M1RFJY2wYni
 lYcJ8B58TpM3Ig9ngs0ukdRQhNfvdHMUNWFCPBlNVBAy71D+lrdJu/Xv9qStlXF7oDYG
 suxSPYLCDZZ3EWMl0WmR6cBZ+2b/dh2pPizNQSboP3FXfx5MVZiDBQbXmuaLXkMj7SdO
 K3uFepz0cjB6hMrKNJvuzjUOfekJwt+z+Pb+Mt7E63dGtoNyvJNMbXXGOCa+8WXqUw3p
 9gPg==
ARC-Authentication-Results: i=1; strato.com;
    arc=none;
    dkim=none
X-RZG-CLASS-ID: mo00
X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zq68+3cfpOV3aRckI5mFfHfYNKjcnTZ+SK9"
To: cygwin@cygwin.com
Cc: Dmitry Bogatov <KAction@gnu.org>
Subject: strverscmp is buggy in Cygwin 3.4.6
Date: Tue, 02 Jan 2024 11:23:26 +0100
Message-ID: <13421190.uLZWGnKmhe@nimes>
MIME-Version: 1.0
X-Spam-Status: No, score=-3.5 required=5.0 tests=BAYES_00, DKIM_SIGNED,
 DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, KAM_NUMSUBJECT, RCVD_IN_DNSWL_LOW,
 RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_NONE, TXREP,
 T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
 server2.sourceware.org
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
From: Bruno Haible via Cygwin <cygwin@cygwin.com>
Reply-To: Bruno Haible <bruno@clisp.org>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie.com@cygwin.com>

Hi,

Here's a test case of strverscmp, from Dmitry Bogatov [1]

#include <string.h>
int main ()
{
  return strverscmp ("UNKNOWN", "2.2.0") <= 0;
}

It succeeds on glibc and musl libc 1.2.4, but fails on musl libc 1.2.3
and Cygwin 2.9.0 and 3.4.6.

The cause is apparently that Cygwin's strverscmp implementation was
borrowed from musl libc (Cygwin commit 59e09b6419cdf400be3c73b61ac9c22560dc397e)
at a time when musl libc's implementation was buggy. In musl libc, it is
meanwhile fixed, through
https://git.musl-libc.org/cgit/musl/commit/src/string/strverscmp.c?id=b50eb8c36c20f967bd0ed70c0b0db38a450886ba

Bruno

[1] https://lists.gnu.org/archive/html/bug-gnulib/2024-01/msg00002.html




-- 
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
