Subject: bug#7142: coreutils on Solaris 10(x86) 09/10

From: Paul Eggert <[email-masked]>
Date: Mon, 04 Oct 2010 12:37:33 -0700

Does the following patch to lib/openat.h fix the problem for you?

--- old/lib/openat.h	2010-04-23 06:44:00.000000000 -0700
+++ new/lib/openat.h	2010-10-04 12:36:16.924755978 -0700
@@ -94,21 +94,16 @@
 }
 
 #if GNULIB_FACCESSAT
-/* For now, there are no wrappers named laccessat or leuidaccessat,
+/* These are macros, not inline functions, so that special libraries
+   such as -lgen are not needed unless the macros are invoked.
+
+   For now, there are no wrappers named laccessat or leuidaccessat,
    since gnulib doesn't support faccessat(,AT_SYMLINK_NOFOLLOW) and
    since access rights on symlinks are of limited utility.  */
 
-static inline int
-accessat (int fd, char const *file, int mode)
-{
-  return faccessat (fd, file, mode, 0);
-}
+# define accessat(fd, file, mode) faccessat (fd, file, mode, 0)
+# define euidaccessat(fd, file, mode) faccessat (fd, file, mode, AT_EACCESS)
 
-static inline int
-euidaccessat (int fd, char const *file, int mode)
-{
-  return faccessat (fd, file, mode, AT_EACCESS);
-}
 #endif
 
 #endif /* _GL_HEADER_OPENAT */