From e5244cd88a5414c964b32bb95cf60fc9c1958a5f Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Thu, 5 Mar 2020 13:27:53 +0100 Subject: Linux: Use __fstatat64 in fchmodat implementation fstatat64 depends on inlining to produce the desired __fxstatat64 call, which does not happen with -Os, leading to a link failure with an undefined reference to fstatat64. __fxstatat64 has a macro definition in include/sys/stat.h and thus avoids the problem. --- sysdeps/unix/sysv/linux/fchmodat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sysdeps/unix/sysv/linux/fchmodat.c b/sysdeps/unix/sysv/linux/fchmodat.c index 17eca54051..5531f1aa6f 100644 --- a/sysdeps/unix/sysv/linux/fchmodat.c +++ b/sysdeps/unix/sysv/linux/fchmodat.c @@ -48,7 +48,7 @@ fchmodat (int fd, const char *file, mode_t mode, int flag) /* Use fstatat because fstat does not work on O_PATH descriptors before Linux 3.6. */ struct stat64 st; - if (fstatat64 (pathfd, "", &st, AT_EMPTY_PATH) != 0) + if (__fstatat64 (pathfd, "", &st, AT_EMPTY_PATH) != 0) { __close_nocancel (pathfd); return -1; -- cgit v1.2.3-65-gdbad