]> sourceware.org Git - glibc.git/commitdiff
linux: use statx for fstat if neither newfstatat nor fstatat64 is present
authorWANG Xuerui <git@xen0n.name>
Wed, 1 Jun 2022 02:12:28 +0000 (10:12 +0800)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Wed, 1 Jun 2022 15:29:01 +0000 (12:29 -0300)
LoongArch is going to be the first architecture supported by Linux that
has neither fstat* nor newfstatat [1], instead exclusively relying on
statx. So in fstatat64's implementation, we need to also enable statx
usage if neither fstatat64 nor newfstatat is present, to prepare for
this new case of kernel ABI.

[1]: https://lore.kernel.org/all/20220518092619.1269111-1-chenhuacai@loongson.cn/

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
sysdeps/unix/sysv/linux/fstatat64.c

index 2ab914380d320d4e55f1ac200ee2a7dae35ce8fb..8b1a1a290d5c1a5794a2c09d76d5a641dbf9f818 100644 (file)
@@ -42,7 +42,8 @@ _Static_assert (sizeof (__blkcnt_t) == sizeof (__blkcnt64_t),
 
 #if (__WORDSIZE == 32 \
      && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)) \
-     || defined STAT_HAS_TIME32
+     || defined STAT_HAS_TIME32 \
+     || (!defined __NR_newfstatat && !defined __NR_fstatat64)
 # define FSTATAT_USE_STATX 1
 
 static inline int
This page took 0.048928 seconds and 5 git commands to generate.