https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114895
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
So since this is for the 32bit multilib and the test below doens't seem to
enforce LFS we get a large inode number in the build setup and fail the
stat(), mis-detecting the feature.
libgfortran configure.ac misses AC_SYS_LARGEFILE it seems.
dnl Check whether the st_ino and st_dev stat fields taken together uniquely
dnl identify the file within the system. This is should be true for POSIX
dnl systems; it is known to be false on mingw32.
AC_DEFUN([LIBGFOR_CHECK_WORKING_STAT], [
AC_CACHE_CHECK([whether the target stat is reliable],
libgfor_cv_have_working_stat, [
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#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;
}]])], libgfor_cv_have_working_stat=yes, libgfor_cv_have_working_stat=no, [
case "${target}" in
*mingw*) libgfor_cv_have_working_stat=no ;;
*) libgfor_cv_have_working_stat=yes;;
esac])])
if test x"$libgfor_cv_have_working_stat" = xyes; then
AC_DEFINE(HAVE_WORKING_STAT, 1, [Define if target has a reliable stat.])
fi])