On 24/12/2020 21:10, Paul Eggert wrote:
On 12/18/20 6:13 AM, Adhemerval Zanella wrote:
The same tests I pointed out on BZ#24970 comment #2 still fails with
gnulib
version 0aa8ef424.
I finally got some time free to look at this, and came up with some
patches that should fix that problem, along with some others I noticed
while in the neighborhood, and which should make it easier to merge into
glibc. I installed the attached into Gnulib to do this. These patches
also add test cases for the bugs in question.
FWIW lib/utime.c now fails to build on Solaris < 10 because of
0003-stat-failing-with-EOVERFLOW-implies-existence.patch
(340dcbd879d050aebcd7081ec5f2208f0e2418b6)
gcc -std=gnu11 -DHAVE_CONFIG_H -DEXEEXT=\"\" -DEXEEXT=\"\" -DNO_XMALLOC
-DEXEEXT=\"\" -I. -I.. -DGNULIB_STRICT_CHECKING=1
-I/usr/tgcware/include -D_REENTRANT -fvisibility=hidden -g -O2 -MT
utime.o -MD -MP -MF $depbase.Tpo -c -o utime.o utime.c &&\
mv -f $depbase.Tpo $depbase.Po
utime.c: In function 'rpl_utime':
utime.c:279:38: error: 'errno' undeclared (first use in this function)
if (stat (name, &buf) == -1 && errno != EOVERFLOW)
^
utime.c:279:38: note: each undeclared identifier is reported only once
for each function it appears in
utime.c:279:47: error: 'EOVERFLOW' undeclared (first use in this function)
if (stat (name, &buf) == -1 && errno != EOVERFLOW)
^
make[3]: *** [utime.o] Error 1
It seems it would need to include <errno.h> in the general case and not
just for Windows as currently done.
-tgc