Re: getusershell tests: Fail if empty lines are returned.

2024-05-18 Thread Collin Funk
Hi Bruno, On 5/18/24 12:16 AM, Bruno Haible wrote: >> I'll submit a bug report on the musl lists now. > > Thanks. I submitted a report yesterday but forgot to link here [1]. >> I don't think this function is used too much > > Probably no one noticed the bug before, because the typical use of

Re: [PATCH] sha512-buffer: port back to 32-bit-only hosts

2024-05-18 Thread Collin Funk
Hi Paul, Patch looks good. On 5/18/24 7:04 PM, Paul Eggert wrote: > Port to platforms lacking 64-bit integers (something that Emacs > still attempts to do, in theory) by adding an u64bswap primitive > to u64.h and using that, instead of using bswap_64. This fixes a > bug I made in commit

[PATCH] sha512-buffer: port back to 32-bit-only hosts

2024-05-18 Thread Paul Eggert
Port to platforms lacking 64-bit integers (something that Emacs still attempts to do, in theory) by adding an u64bswap primitive to u64.h and using that, instead of using bswap_64. This fixes a bug I made in commit 0d45ec7c033c165ad73a6509c7fa84aa67edf4ea dated Sun Jun 17 14:35:37 2018 -0700. *

dup3: Update documentation and expected test results.

2024-05-18 Thread Collin Funk
Hi Bruno, On 5/18/24 5:03 PM, Bruno Haible wrote: >> Until then, maybe this should be added to the documentation? You >> tested NetBSD 9.0 and NetBSD 10.0 and I reproduced on NetBSD 10.0. >> From what I can tell from a brief look at the git history (don't know >> how to use cvs, so github mirror)

Re: NetBSD dup3

2024-05-18 Thread Bruno Haible
Hi Collin, > I've pushed the patch with a ChangeLog + the second of your > suggestions. Good! > I've submitted a bug report with the links to documentation and a test > program for them [1]. I think I even found the right place to change > the behavior, so hopefully someone takes a look at it

Re: NetBSD dup3

2024-05-18 Thread Collin Funk
Hi Bruno, On 5/18/24 4:54 AM, Bruno Haible wrote: >> +/* On NetBSD dup3 is a no-op when oldfd == newfd, but we expect >> + an error with errno == EINVAL. */ > > (What is "we", and who expects something from whom?) > I would find it less confusing if written like this:

Re: endian: New module.

2024-05-18 Thread Collin Funk
On 5/18/24 7:45 AM, Bruno Haible wrote: >> Can you check the attached patch? I think that it should work or >> at least be in the correct direction... > > In the endian.in.h file: The comments on the 3 last lines are not > consistent with the '#endif' scopes. Oops, good catch. > In the

tests: Support showing all assertion failures, not just the first one

2024-05-18 Thread Bruno Haible
Sometimes a test has several failures on a certain platform (e.g. the test-c32is* tests). In order to display all failed ASSERTs, not just the first one, so far I hand-edited tests/macros.h. But this approach does not work with CI builds, because - it's not easy to hand-edit a file, - it's

Re: [PATCH] byteswap: port better to limited platforms

2024-05-18 Thread Bruno Haible
Paul Eggert wrote: > > $ gcc -Wall -S foo.c > > foo.c:1: warning: integer constant is too large for ‘long’ type > > I don't see how that would produce incorrect code for byteswap.h. Indeed, gcc 4.4.7 warns but produces a long long value (no truncation). > The longer story is C89 lacked 'long

Re: [PATCH] byteswap: port better to limited platforms

2024-05-18 Thread Paul Eggert
On 2024-05-17 16:51, Bruno Haible wrote: -- foo.c -- unsigned long long x = 0xff00; --- $ gcc -Wall -S foo.c foo.c:1: warning: integer constant is too large for ‘long’ type I

Re: endian: New module.

2024-05-18 Thread Bruno Haible
Hi Collin, > Can you check the attached patch? I think that it should work or > at least be in the correct direction... In the endian.in.h file: The comments on the 3 last lines are not consistent with the '#endif' scopes. In the Makefile.am snippet: A few lines are indented with spaces, not

Re: endian: New module.

2024-05-18 Thread Collin Funk
On 5/18/24 4:46 AM, Bruno Haible wrote: >> I see. What is the correct solution here? > > See the idioms used by, say, arpa_inet.in.h. > >> Or something like this: >> >> #if @HAVE_ENDIAN_H@ >> # @INCLUDE_NEXT@ @NEXT_ENDIAN_H@ >> #endif > > This is part of it. But there's more details needed.

Re: NetBSD dup3

2024-05-18 Thread Bruno Haible
Hi Collin, > How does this look? Passes tests on NetBSD 10.00. The position in the code is right. Only the comment is confusing me: > +/* On NetBSD dup3 is a no-op when oldfd == newfd, but we expect > + an error with errno == EINVAL. */ (What is "we", and who

Re: endian: New module.

2024-05-18 Thread Bruno Haible
Hi Collin, > I sent a request for a compile farm account today since I realized I > have no way of testing other architectures (other then VMs I guess). That's reasonable. In particular, one cannot install macOS or AIX in a VM, therefore for these two OSes the compilefarm is the only way to get

Re: endian: New module.

2024-05-18 Thread Collin Funk
Hi Bruno, On 5/18/24 4:12 AM, Bruno Haible wrote: > While testing a testdir for module 'endian' on gcc110.fsffrance.org > (in the GCC compilefarm), I get a compilation error. This machine has > a pretty old libc (glibc 2.17), but that ought to work anyway. Oops, sorry. I sent a request for a

Re: endian: New module.

2024-05-18 Thread Bruno Haible
Hi Collin, While testing a testdir for module 'endian' on gcc110.fsffrance.org (in the GCC compilefarm), I get a compilation error. This machine has a pretty old libc (glibc 2.17), but that ought to work anyway. gcc -std=gnu11 -DHAVE_CONFIG_H -I. -I../../gltests -I.. -DGNULIB_STRICT_CHECKING=1

Re: NetBSD dup3

2024-05-18 Thread Collin Funk
Hi Bruno, On 5/18/24 3:42 AM, Bruno Haible wrote: > An interesting approach. But I think this added code comes too early: > In case of oldfd == newfd && newfd < 0, it would fail with EINVAL instead > of EBADF. > > How about trying the system call first, and test for newfd == oldfd only if > that

Re: endian: New module.

2024-05-18 Thread Bruno Haible
Hi Collin, > I've pushed the two patches adding a module to substitute endian.h. > Pretty much the same as last time except using inline functions > instead of macros and making sure variables are used in the m4 file. Thanks! > I've only mentioned the module in the documentation. It might make

Re: NetBSD dup3

2024-05-18 Thread Bruno Haible
Hi Collin, > Currently dup3 is replaced unconditionally. I made this change in a > NetBSD virtual machine and the test program passes: > > $ git diff . > diff --git a/lib/dup3.c b/lib/dup3.c > index a810d3be19..7674f042a4 100644 > --- a/lib/dup3.c > +++ b/lib/dup3.c > @@ -34,6 +34,15 @@ dup3

Re: tests: Mark tests that fail on NetBSD as expected failures

2024-05-18 Thread Collin Funk
Hi Bruno, On 5/17/24 2:10 PM, Bruno Haible wrote: > On NetBSD 9.0 and 10.0, I always see the same tests fail: > > FAIL: test-dup3 > === > > ../../gltests/test-dup3.c:113: assertion 'dup3 (fd, fd, o_flags) == -1' failed > FAIL test-dup3 (exit status: 134) It looks like dup3 behaves

endian: New module.

2024-05-18 Thread Collin Funk
I've pushed the two patches adding a module to substitute endian.h. Pretty much the same as last time except using inline functions instead of macros and making sure variables are used in the m4 file. I've only mentioned the module in the documentation. It might make sense to put it in

Re: getusershell tests: Fail if empty lines are returned.

2024-05-18 Thread Bruno Haible
Hi Collin, > I'll submit a bug report on the musl lists now. Thanks. > I don't think this function is used too much Probably no one noticed the bug before, because the typical use of this function is to test whether a given shell string is valid, as in [1], and for this use, the bug hardly