Re: [PATCH v3 01/11] tools/nolibc: remove the old sys_stat support

From: Willy Tarreau
Date: Sat Jul 15 2023 - 07:45:57 EST


On Sat, Jul 15, 2023 at 06:39:41PM +0800, Zhangjin Wu wrote:
> Just read the statx manpage again:
>
> https://man7.org/linux/man-pages/man2/statx.2.html
>
> It shows something about "Linux 4.11, glibc 2.28.
>
> And 'git grep' shows it is true:
>
> $ git grep -r statx v4.11 arch/ include/uapi/asm-generic/unistd.h | grep -E "aarch64|arm|mips|s390|x86|:include/uapi"
> v4.11:arch/arm/tools/syscall.tbl:397 common statx sys_statx
> v4.11:arch/arm64/include/asm/unistd32.h:#define __NR_statx 397
> v4.11:arch/arm64/include/asm/unistd32.h:__SYSCALL(__NR_statx, sys_statx)
> v4.11:arch/mips/include/uapi/asm/unistd.h:#define __NR_statx (__NR_Linux + 366)
> v4.11:arch/mips/include/uapi/asm/unistd.h:#define __NR_statx (__NR_Linux + 326)
> v4.11:arch/mips/include/uapi/asm/unistd.h:#define __NR_statx (__NR_Linux + 330)
> v4.11:arch/mips/kernel/scall32-o32.S: PTR sys_statx
> v4.11:arch/mips/kernel/scall64-64.S: PTR sys_statx
> v4.11:arch/mips/kernel/scall64-n32.S: PTR sys_statx /* 6330 */
> v4.11:arch/mips/kernel/scall64-o32.S: PTR sys_statx
> v4.11:arch/s390/include/uapi/asm/unistd.h:#define __NR_statx 379
> v4.11:arch/s390/kernel/compat_wrapper.c:COMPAT_SYSCALL_WRAP5(statx, int, dfd, const char __user *, path, unsigned, flags, unsigned, mask, struct statx __user *, buffer);
> v4.11:arch/s390/kernel/syscalls.S:SYSCALL(sys_statx,compat_sys_statx)
> v4.11:arch/x86/entry/syscalls/syscall_32.tbl:383 i386 statx sys_statx
> v4.11:arch/x86/entry/syscalls/syscall_64.tbl:332 common statx sys_statx
> v4.11:include/uapi/asm-generic/unistd.h:#define __NR_statx 291
> v4.11:include/uapi/asm-generic/unistd.h:__SYSCALL(__NR_statx, sys_statx)
>
> both riscv and loongarch use the generic unistd.h, so, all of our
> supported archs should work as-is. riscv itself is added from v4.15,
> loongarch itself is added from v5.19.

So that's perfect, thank you!

Willy