Hi Paul, > I'd rather not hardwire assumptions about AIX into > the 'configure' code, so instead I installed the > following more-conservative patch
The problem with this conservative approach is that it penalizes all the people who do cross-compiles to embedded Linux (eglibc or uClibc) platforms. Most cross-compilations nowadays are to *-*-linux* targets. People have already complained about replacement functions that are not needed on these targets and are only due to pessimistic assumptions. Also, a minor nit: When I see configure output like checking whether fstatat (..., 0) works... cross-compiling I wonder: does that count as a "yes" or as a "no"? Here's a proposed followup patch: 2011-11-09 Bruno Haible <br...@clisp.org> fstatat: Make cross-compilation guess succeed on Linux. * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST. When cross-compiling, guess yes on Linux platforms. --- m4/fstatat.m4.orig Thu Nov 10 01:38:52 2011 +++ m4/fstatat.m4 Thu Nov 10 01:38:49 2011 @@ -13,6 +13,7 @@ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([fstatat]) if test $ac_cv_func_fstatat = no; then @@ -36,16 +37,23 @@ ]])], [gl_cv_func_fstatat_zero_flag=yes], [gl_cv_func_fstatat_zero_flag=no], - [gl_cv_func_fstatat_zero_flag=cross-compiling])]) + [case "$host_os" in + linux*) gl_cv_func_fstatat_zero_flag="guessing yes";; + *) gl_cv_func_fstatat_zero_flag="guessing no";; + esac + ]) + ]) case $gl_cv_func_fstatat_zero_flag+$gl_cv_func_lstat_dereferences_slashed_symlink in - yes+yes) ;; + *yes+yes) ;; *) REPLACE_FSTATAT=1 - if test $gl_cv_func_fstatat_zero_flag = yes; then + case $gl_cv_func_fstatat_zero_flag in + *yes) AC_DEFINE([HAVE_WORKING_FSTATAT_ZERO_FLAG], [1], [Define to 1 if fstatat (..., 0) works. For example, it does not work in AIX 7.1.]) - fi + ;; + esac ;; esac fi -- In memoriam Robert Blum <http://en.wikipedia.org/wiki/Robert_Blum>