https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114895
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- That is really weird. Because the checking for _FILE_OFFSET_BITS value needed for large files... 64 test should add #define _FILE_OFFSET_BITS 64 line to confdefs.h and I believe the working stat testing should use that: if test "$cross_compiling" = yes; then : case "${target}" in *mingw*) libgfor_cv_have_working_stat=no ;; *) libgfor_cv_have_working_stat=yes;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> int main () { FILE *f, *g; struct stat st1, st2; f = fopen ("foo", "w"); g = fopen ("bar", "w"); if (stat ("foo", &st1) != 0 || stat ("bar", &st2)) return 1; if (st1.st_dev == st2.st_dev && st1.st_ino == st2.st_ino) return 1; fclose(f); fclose(g); return 0; } _ACEOF The cat should source in all of confdefs.h so far.