On 2024-01-02 10:36, Brian Inglis via Cygwin wrote: > On 2024-01-02 03:23, Bruno Haible via Cygwin wrote: >> Here's a test case of strverscmp, from Dmitry Bogatov [1] >> #include >> 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 This musl patch applies cleanly to newlib (patch offsets) and is attached. > 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