+2019-03-23 Bruno Haible <bruno@clisp.org>
+
+ futimens: Document musl libc bug.
+ * doc/posix-functions/futimens.texi: Mention the bug.
+ * m4/futimens.m4 (gl_FUNC_FUTIMENS): Require AC_CANONICAL_HOST. When
+ cross-compiling, guess no on glibc and musl systems.
+
2019-03-23 Bruno Haible <bruno@clisp.org>
Clarify that cross-compilation guesses are guesses.
@item
Passing @code{AT_FDCWD} as the fd argument does not properly fail with
@code{EBADF} on some systems:
-glibc 2.11, Solaris 11.
+glibc 2.11, musl libc, Solaris 11.
@end itemize
Portability problems not fixed by Gnulib:
-# serial 7
+# serial 8
# See if we need to provide futimens replacement.
dnl Copyright (C) 2009-2019 Free Software Foundation, Inc.
AC_DEFUN([gl_FUNC_FUTIMENS],
[
AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
AC_CHECK_FUNCS_ONCE([futimens])
if test $ac_cv_func_futimens = no; then
]])],
[gl_cv_func_futimens_works=yes],
[gl_cv_func_futimens_works=no],
- [gl_cv_func_futimens_works="guessing yes"])
+ [case "$host_os" in
+ # Guess no on glibc systems.
+ *-gnu* | gnu*) gl_cv_func_futimens_works="guessing no" ;;
+ # Guess no on musl systems.
+ *-musl*) gl_cv_func_futimens_works="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_futimens_works="guessing yes" ;;
+ esac
+ ])
rm -f conftest.file])
- if test "$gl_cv_func_futimens_works" = no; then
- REPLACE_FUTIMENS=1
- fi
+ case "$gl_cv_func_futimens_works" in
+ *yes) ;;
+ *)
+ REPLACE_FUTIMENS=1
+ ;;
+ esac
fi
])