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