X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F3B663858296
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1704217047;
	bh=t5kRp2NR/z7JbU8JE8jv9r89g+y/kCb418O0EBgD9WE=;
	h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe:
	 List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:
	 From;
	b=KeeXYqbR++LUQcfWtPFpD3zWWfD+8U2gBCQ5ny7/i/3CgX2x+Ab7X6RmIII8eJCsS
	 jQkkeI2SAu3VA8wnGsiI3djSxJAQkKZXUMchpEfpZdfEaWajhDBLGwrAUNswbSBtf/
	 0iL9BhUTNoMEE6dYQckXIkDkWKRfSVLuvM58JI9Y=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D01403858D32
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D01403858D32
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704217023; cv=none;
 b=fX5vliDRFJl5g/zZ4IRQ4OtmrdJ4FcbveYCPnetsEu56EGENiXTTkQpklolIB7nqfMxuFK7AhJto1PwSPEv+XTalawg84vsgg+GMtWsFiOOW2RKR2YkWhuTLWlEGiOR+onWg7i2tOYdsZkCMT9eCwgyRxlq/TlReNOSWmfDeTlc=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
 t=1704217023; c=relaxed/simple;
 bh=KE38bTrKVPOHfZSJn9r5wRnIndw7bvynkQUdQ31RYyg=;
 h=Message-ID:Date:MIME-Version:Subject:To:From;
 b=PStjAWRwyaUCIBQ5XJ52gg6yVHKRWXlgUIoj8pKeNo9Tm2r7aNKRKSMgkLnGjTrKAPLo7vuA+DZ601xrJ2MUHQ4pgF1dBjCq2QVbccxm80EQ3+OmzrkGsvYDFnfl1qPdVr/w6SpQKM6IJXD4nK6p1mpimF1xmvwaZvVR52Sbi4U=
ARC-Authentication-Results: i=1; server2.sourceware.org
Message-ID: <1f182ad0-bf0d-4cf7-9829-8b7e7cbd6b43@SystematicSW.ab.ca>
Date: Tue, 2 Jan 2024 10:36:56 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: strverscmp is buggy in newlib 4.4.0 (was: Cygwin 3.4.6)
To: cygwin@cygwin.com, newlib@sourceware.org
References: <13421190.uLZWGnKmhe@nimes>
Content-Language: en-CA
Organization: Systematic Software
In-Reply-To: <13421190.uLZWGnKmhe@nimes>
X-Rspamd-Queue-Id: 6FECB2E
X-Spam-Status: No, score=-2.2 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS,
 RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS,
 SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE,
 UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6
X-Rspamd-Server: rspamout02
X-Stat-Signature: dczwk6qdbjzk3wknimufzw9ukx8xow98
X-Session-Marker: 427269616E2E496E676C69734053797374656D6174696353572E61622E6361
X-Session-ID: U2FsdGVkX1/jWw/rpUDNYV99LvNDZHALDv4a69LUqrE=
X-HE-Tag: 1704217017-494521
X-HE-Meta: U2FsdGVkX1+xBLTQ5xGaAu2wdko/l51wLWH0Hza2dSJQzEaJu1qKiDApsx3sffX+87VvpI1IbNG+SYC2hFWd/lCf3CzTJZ0pd/4f7FspVN9nOv59Ys8JXvWxMJOg/pivZiYpid3T+GiI+93ebRVbiCdBr+HiGNIwK4H9y+JPPKYMQk+RiSj9zmh8fAgB4nAOKFBN8+8PWLTvKfKQTr05/Plai5DuTyuFYxNaYXo9LCe7M7ToGDqvMZBtBqjuHgNih8J3oKnePnmVlPGckKt7spcaoy5WHQT5Tce3UlFAeRQ6rlbKmt5obsgBKSUAEB3xU4Bkw8VlSTFeiJoeasXl/8lvvwNRpvt8xX9JX03OfijZFXLxeMpQeXYp9mbp3qTABQEvdrNLppLfYXmRuB4TEvx8HbLob8nf3kQHxoYLYhxBtP68efBaWJKCUdVUifIt9K4uvXhla9tRRVKeARoVTYBKzphatalwa8gE6b6LdC50ehuWF50uaLf2PWONUSYlPjmxlFUfVO2bh6wRUAB/Gkthnc4Tnp041hDn0At5ObVlubdF0JbauD0TnovL0OpMw1hBrCGQr5s=
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
Precedence: list
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=unsubscribe>
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: Brian Inglis via Cygwin <cygwin@cygwin.com>
Reply-To: newlib@sourceware.org
Cc: Brian Inglis <Brian.Inglis@SystematicSW.ab.ca>
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: cygwin-bounces+archive-cygwin=delorie.com@cygwin.com
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie.com@cygwin.com>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 402HbSWG026437

On 2024-01-02 03:23, Bruno Haible via Cygwin wrote:
> 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
> [1] https://lists.gnu.org/archive/html/bug-gnulib/2024-01/msg00002.html

Issue is in newlib (x-post and followups set):
https://sourceware.org/cgit/newlib-cygwin/tree/newlib/libc/string/strverscmp.c

patch with git log msg:
https://git.musl-libc.org/cgit/musl/patch/src/string/strverscmp.c?id=b50eb8c36c20f967bd0ed70c0b0db38a450886ba

Gnulib discussion:
https://lists.gnu.org/archive/html/bug-gnulib/2024-01/msg00002.html

Musl thread starts:
https://www.openwall.com/lists/musl/2022/11/06/1

bare patch without git log msg attached to:
https://www.openwall.com/lists/musl/2022/11/08/1

-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                 -- Antoine de Saint-Exupéry


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

