Re: timespec test failure on Linux/s390x

2021-08-29 Thread Bruno Haible
Paul Eggert wrote: > Which version of GCC are you using? s390x-linux-gnu-gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0 > I suspect the bug is in the earlier call to timespec_add, as mentioned > above. I'll debug that call... Bruno

Re: timespec test failure on Linux/s390x

2021-08-29 Thread Paul Eggert
On 8/29/21 6:15 PM, Bruno Haible wrote: ../../gltests/test-timespec.c:152: assertion 'eq (timespec_add (a, sumbc), timespec_add (sum, c))' failed Aborted (core dumped) In test-timespec.c:152 the local variables are: ... ntests = 26 computed_hz = 10 i = 1 a = {tv_sec =

timespec test failure on Linux/s390x

2021-08-29 Thread Bruno Haible
In a testdir of all of Gnulib, on Linux/s390x, test-timespec fails: ../../gltests/test-timespec.c:152: assertion 'eq (timespec_add (a, sumbc), timespec_add (sum, c))' failed Aborted (core dumped) In test-timespec.c:152 the local variables are: test = {{tv_sec = -9223372036854775808, tv_nsec =

[PATCH] attribute: keep up with gnulib-common.m4

2021-08-29 Thread Paul Eggert
* lib/attribute.h (ATTRIBUTE_DEALLOC, ATTRIBUTE_DEALLOC_FREE): New macros, aliases for the _GL_-prefixed macros added to gnulib-common.m4 last month. --- ChangeLog | 7 +++ lib/attribute.h | 8 2 files changed, 15 insertions(+) diff --git a/ChangeLog b/ChangeLog index

supersede: Fix test failure under QEMU user-mode for Linux/mips

2021-08-29 Thread Bruno Haible
On Linux/mips, the 'supersede' test fails here: ASSERT (memcmp (_dev, _dev, sizeof (dev_t)) == 0); The reason is that sizeof (orig_dev) = 8 sizeof (statbuf.st_dev) = 4 sizeof (dev_t) = 8 This patch works around it. 2021-08-29 Bruno Haible

execute, spawn-pipe: Fix test failures when running under QEMU user-mode

2021-08-29 Thread Bruno Haible
In a QEMU user-mode environment (for various CPUs), the test-execute.sh and test-spawn-pipe.sh tests fail. This happens with qemu 6.1.0, but did not happen with qemu 4.1.0 and older versions. The reason is that when qemu is used to execute a program, the file descriptor 3 is open, referencing

posix_spawn_file_actions_addfchdir: Avoid test failure under QEMU

2021-08-29 Thread Bruno Haible
In a QEMU user-mode environment (for various CPUs), the test-posix_spawn-fchdir test fails. The reason is that when the program opens "/", it actually is the /usr/-linux-gnu directory, and the "pwd" program thus prints the string "/usr/-linux-gnu", not "/" as expected. This patch skips the parts

getcwd tests: Avoid test failure when running under QEMU user-mode

2021-08-29 Thread Bruno Haible
In a QEMU user-mode environment (for various CPUs), the test-getcwd.sh test fails, with exit code 5. This happens with qemu 6.1.0, but did not happen with qemu 4.1.0 and older versions. It's not easy to fix, because the code is involved. What I see, is that * The test invokes rpl_getcwd, *

Re: [PATCH] base32, base64: prefer signed to unsigned integers

2021-08-29 Thread Paul Eggert
On 8/29/21 11:36 AM, Bruno Haible wrote: Yes, either an abort() or an integer overflow return indicator would be better OK, I installed the attached, which takes the integer overflow return route. >From 6aafd2a92b4bb48937f3e767e51a4b7abf2f2217 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date:

Re: [PATCH] base32, base64: prefer signed to unsigned integers

2021-08-29 Thread Bruno Haible
Paul Eggert wrote: > > IMO, it would be better to have code like this in base64_encode_alloc: > > > > if (inlen < 0) > > /* This argument is invalid, since the API change from 2021-08-28. */ > > abort (); > > Another possibility would be to treat inlen < 0 the same as integer >

Re: non-gnulib bug in dfa.h

2021-08-29 Thread arnold
Paul Eggert wrote: > On 8/29/21 8:55 AM, arn...@skeeve.com wrote: > > Hi. > > > > I had to make the change below to dfa.h to get things to compile > > in gawk. Please apply this. > > Sorry about my typo, and thanks for the fix; I installed it. No problem. Much thanks. Arnold

Re: [PATCH] base32, base64: prefer signed to unsigned integers

2021-08-29 Thread Paul Eggert
On 8/29/21 3:16 AM, Bruno Haible wrote: There may be invocations out there, of this function, with an argument between SIZE_MAX/2 and SIZE_MAX-1. Changing such calls to be undefined behaviour means that these invocations now need debugging in the packages that contain them. Luckily these

Re: non-gnulib bug in dfa.h

2021-08-29 Thread Paul Eggert
On 8/29/21 8:55 AM, arn...@skeeve.com wrote: Hi. I had to make the change below to dfa.h to get things to compile in gawk. Please apply this. Sorry about my typo, and thanks for the fix; I installed it.

explicit_bzero test: Fix test failure due to GCC optimizations

2021-08-29 Thread Bruno Haible
The explicit_bzero test (which needs to do things that are outside of the C standard) fails in different circumstances, due to GCC optimizations: 1) On x86_64, with GCC 11 and option -O3, as well as on m68k with GCC 10 and option -O3, the compiler creates two simplified copies of the

non-gnulib bug in dfa.h

2021-08-29 Thread arnold
Hi. I had to make the change below to dfa.h to get things to compile in gawk. Please apply this. Thanks, Arnold - --- /usr/local/src/Gnu/gnulib/lib/dfa.h 2021-08-27 16:50:39.579581132 +0300 +++ support/dfa.h 2021-08-29 18:30:25.101719167 +0300 @@ -50,6

Re: [PATCH] base32, base64: prefer signed to unsigned integers

2021-08-29 Thread Bruno Haible
Paul Eggert wrote: > > Or maybe the cause is the line > > > >assume (0 <= inlen); > > > > At the entry point of a public function, it is better to use 'assert' than > > 'assume', IMO. 'assume' means "feel free to crash or press the red button > > if there is an invalid argument". > >

Re: [PATCH] base32, base64: prefer signed to unsigned integers

2021-08-29 Thread Bruno Haible
Hi Simon, > I'm not sure I understand why idx_t is better than size_t > here, can you elaborate? Why not ssize_t? You find a detailed explanation in the comments of idx.h. > Maybe a compromise is to > keep the old API but add new APIs with idx_t types and the > implementation of the old

Re: [PATCH] base32, base64: prefer signed to unsigned integers

2021-08-29 Thread Simon Josefsson via Gnulib discussion list
Paul Eggert writes: > -extern void base64_encode (const char *restrict in, size_t inlen, > - char *restrict out, size_t outlen); > +extern void base64_encode (const char *restrict in, idx_t inlen, > + char *restrict out, idx_t outlen); Thanks

Re: [PATCH] base32, base64: prefer signed to unsigned integers

2021-08-29 Thread Paul Eggert
On 8/28/21 7:12 AM, Bruno Haible wrote: Or maybe the cause is the line assume (0 <= inlen); At the entry point of a public function, it is better to use 'assert' than 'assume', IMO. 'assume' means "feel free to crash or press the red button if there is an invalid argument". 'assume' was

Re: [PATCH] base32, base64: prefer signed to unsigned integers

2021-08-29 Thread Paul Eggert
On 8/28/21 5:45 AM, Bruno Haible wrote: There are two problems with this patch: 1) $ ./gnulib-tool --create-testdir --dir=../testdir5 --single-configure base32 base64 prints messages gnulib-tool: warning: module base32 depends on a module with an incompatible license: ialloc