GNU bug report logs - #64123
"stat -f -c '%T' ." on alpha fails with EOVERFLOW with NFS

Previous Next

Package: coreutils;

Reported by: matoro <matoro_mailinglist_bug-coreutils <at> matoro.tk>

Date: Sat, 17 Jun 2023 08:23:02 UTC

Severity: normal

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Pádraig Brady <P <at> draigBrady.com>
Cc: matoro <matoro_mailinglist_bug-coreutils <at> matoro.tk>, 64123 <at> debbugs.gnu.org
Subject: bug#64123: "stat -f -c '%T' ." on alpha fails with EOVERFLOW with NFS
Date: Sat, 17 Jun 2023 12:23:50 -0700
On 2023-06-17 10:30, Pádraig Brady wrote:
> I see that s390 and alpha are the only 64 bit architectures
> that have a 32-bit ino_t for example, which may cause issues within glibc?

Weird.

What happens if you compile with -D_FILE_OFFSET_BITS=64? Does this cause 
alpha to have a 64-bit ino_t? (How does that work, exactly?) If so, then 
AC_SYS_LARGEFILE should check for this and should arrange for "#define 
_FILE_OFFSET_BITS 64".

Matoro, what happens if you compile the following C program?


#include <sys/stat.h>
#include <stdio.h>

int
main (void)
{
  int n = sizeof (ino_t);
  printf ("%d\n", n);
}


Compile and run it like this:

gcc ino.c
./a.out
gcc -D_FILE_OFFSET_BITS=64 ino.c
./a.out

If the former prints "4" and the latter "8" then we can fix Autoconf and 
Gnulib AC_SYS_LARGEFILE to do the right thing.

Also, as Pádraig suggests, the output of the following shell command 
would be useful:

strace stat -f -c '%T' .

Also please see 
<https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1899582>. Although 
it's about s390x I expect there are similar issues on alpha, which may 
not be fixed and if so it's not a coreutils issue per se.




This bug report was last modified 1 year and 341 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.