Re: [PATCH v2 2/5] tools/nolibc: always use openat(2) instead of open(2)

From: Thomas Weißschuh
Date: Thu Mar 06 2025 - 11:56:52 EST


On 2025-03-04 07:58:16+0000, Louis Taylor wrote:
> All architectures support openat, so we don't need to make its use
> conditional.
>
> Signed-off-by: Louis Taylor <louis@xxxxxxxxxx>
> ---
> tools/include/nolibc/sys.h | 6 ------
> 1 file changed, 6 deletions(-)
>
> diff --git a/tools/include/nolibc/sys.h b/tools/include/nolibc/sys.h
> index 3cd938f9abda..a8dca5ac6542 100644
> --- a/tools/include/nolibc/sys.h
> +++ b/tools/include/nolibc/sys.h
> @@ -798,13 +798,7 @@ int openat(int dirfd, const char *path, int flags, ...)
> static __attribute__((unused))
> int sys_open(const char *path, int flags, mode_t mode)
> {
> -#ifdef __NR_openat
> return my_syscall4(__NR_openat, AT_FDCWD, path, flags, mode);
> -#elif defined(__NR_open)
> - return my_syscall3(__NR_open, path, flags, mode);
> -#else
> - return __nolibc_enosys(__func__, path, flags, mode);
> -#endif

Linus at some point was unhappy with usage of the *at() system calls
over the regular ones for perfomance reasons.
But that probably doesn't matter for nolibc and we are preferring
openat() anyways.

So:

Acked-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx>

> }
>
> static __attribute__((unused))
> --
> 2.45.2
>