Skip to content

Commit

Permalink
tools/nolibc: Remove incorrect definitions of __ARCH_WANT_*
Browse files Browse the repository at this point in the history
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@arm.com>
Link: https://lore.kernel.org/lkml/20210119153147.GA5083@paulmck-ThinkPad-P72
Tested-by: Valentin Schneider <valentin.schneider@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com> [arm64]
Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
  • Loading branch information
Willy Tarreau authored and Paul E. McKenney committed Jan 21, 2021
1 parent 70ca7ae commit f65d711
Showing 1 changed file with 0 additions and 8 deletions.
8 changes: 0 additions & 8 deletions tools/include/nolibc/nolibc.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down

0 comments on commit f65d711

Please sign in to comment.