[tip: core/rcu] tools/nolibc: Remove incorrect definitions of __ARCH_WANT_*

From: tip-bot2 for Willy Tarreau
Date: Fri Feb 12 2021 - 07:45:48 EST


The following commit has been merged into the core/rcu branch of tip:

Commit-ID: f65d7117785cb8ab04f1af55909807c7eb9ed30b
Gitweb: https://git.kernel.org/tip/f65d7117785cb8ab04f1af55909807c7eb9ed30b
Author: Willy Tarreau <w@xxxxxx>
AuthorDate: Thu, 21 Jan 2021 08:20:29 +01:00
Committer: Paul E. McKenney <paulmck@xxxxxxxxxx>
CommitterDate: Thu, 21 Jan 2021 10:06:45 -08:00

tools/nolibc: Remove incorrect definitions of __ARCH_WANT_*

The __ARCH_WANT_* definitions were added in order to support aarch64
when it was missing some syscall definitions (including __NR_dup2,
__NR_fork, and __NR_getpgrp), but these __ARCH_WANT_* definitions were
actually wrong because these syscalls do not exist on this platform.
Defining these resulted in exposing invalid definitions, resulting in
failures on aarch64.

The missing syscalls were since implemented based on the newer ones
(__NR_dup3, __NR_clone, __NR_getpgid) so these incorrect __ARCH_WANT_*
definitions are no longer needed.

Thanks to Mark Rutland for spotting this incorrect analysis and
explaining why it was wrong.

This is a port of nolibc's upstream commit 00b1b0d9b2a4 to the Linux
kernel.

Reported-by: Mark Rutland <mark.rutland@xxxxxxx>
Link: https://lore.kernel.org/lkml/20210119153147.GA5083@paulmck-ThinkPad-P72
Tested-by: Valentin Schneider <valentin.schneider@xxxxxxx>
Tested-by: Mark Rutland <mark.rutland@xxxxxxx> [arm64]
Signed-off-by: Willy Tarreau <w@xxxxxx>
Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx>
---
tools/include/nolibc/nolibc.h | 8 --------
1 file changed, 8 deletions(-)

diff --git a/tools/include/nolibc/nolibc.h b/tools/include/nolibc/nolibc.h
index 611d9d1..475d956 100644
--- a/tools/include/nolibc/nolibc.h
+++ b/tools/include/nolibc/nolibc.h
@@ -81,14 +81,6 @@
*
*/

-/* Some archs (at least aarch64) don't expose the regular syscalls anymore by
- * default, either because they have an "_at" replacement, or because there are
- * more modern alternatives. For now we'd rather still use them.
- */
-#define __ARCH_WANT_SYSCALL_NO_AT
-#define __ARCH_WANT_SYSCALL_NO_FLAGS
-#define __ARCH_WANT_SYSCALL_DEPRECATED
-
#include <asm/unistd.h>
#include <asm/ioctls.h>
#include <asm/errno.h>