[PATCH] linux: use statx for fstat if neither newfstatat nor fstatat64 is present

Adhemerval Zanella adhemerval.zanella@linaro.org
Fri May 27 15:42:00 GMT 2022



On 24/05/2022 05:11, caiyinyu wrote:
> From: WANG Xuerui <git@xen0n.name>
> 
> 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/

LGTM, thanks.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

> ---
>  sysdeps/unix/sysv/linux/fstatat64.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/sysdeps/unix/sysv/linux/fstatat64.c b/sysdeps/unix/sysv/linux/fstatat64.c
> index 2ab914380d..8b1a1a290d 100644
> --- a/sysdeps/unix/sysv/linux/fstatat64.c
> +++ b/sysdeps/unix/sysv/linux/fstatat64.c
> @@ -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


More information about the Libc-alpha mailing list