mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-01 10:45:49 +00:00
505d66d1ab
When clone3() was introduced, it was not obvious how each architecture deals with setting up the stack and keeping the register contents in a fork()-like system call, so this was left for the architecture maintainers to implement, with __ARCH_WANT_SYS_CLONE3 defined by those that already implement it. Five years later, we still have a few architectures left that are missing clone3(), and the macro keeps getting in the way as it's fundamentally different from all the other __ARCH_WANT_SYS_* macros that are meant to provide backwards-compatibility with applications using older syscalls that are no longer provided by default. Address this by reversing the polarity of the macro, adding an __ARCH_BROKEN_SYS_CLONE3 macro to all architectures that don't already provide the syscall, and remove __ARCH_WANT_SYS_CLONE3 from all the other ones. Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
61 lines
1.6 KiB
C
61 lines
1.6 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _ASM_X86_UNISTD_H
|
|
#define _ASM_X86_UNISTD_H 1
|
|
|
|
#include <uapi/asm/unistd.h>
|
|
|
|
|
|
# ifdef CONFIG_X86_32
|
|
|
|
# include <asm/unistd_32.h>
|
|
# define __ARCH_WANT_STAT64
|
|
# define __ARCH_WANT_SYS_IPC
|
|
# define __ARCH_WANT_SYS_OLD_MMAP
|
|
# define __ARCH_WANT_SYS_OLD_SELECT
|
|
|
|
# define IA32_NR_syscalls (__NR_syscalls)
|
|
|
|
# else
|
|
|
|
# include <asm/unistd_64.h>
|
|
# include <asm/unistd_64_x32.h>
|
|
# include <asm/unistd_32_ia32.h>
|
|
# define __ARCH_WANT_SYS_TIME
|
|
# define __ARCH_WANT_SYS_UTIME
|
|
# define __ARCH_WANT_COMPAT_STAT
|
|
# define __ARCH_WANT_COMPAT_SYS_PREADV64
|
|
# define __ARCH_WANT_COMPAT_SYS_PWRITEV64
|
|
# define __ARCH_WANT_COMPAT_SYS_PREADV64V2
|
|
# define __ARCH_WANT_COMPAT_SYS_PWRITEV64V2
|
|
# define X32_NR_syscalls (__NR_x32_syscalls)
|
|
# define IA32_NR_syscalls (__NR_ia32_syscalls)
|
|
|
|
# endif
|
|
|
|
# define NR_syscalls (__NR_syscalls)
|
|
|
|
# define __ARCH_WANT_NEW_STAT
|
|
# define __ARCH_WANT_OLD_READDIR
|
|
# define __ARCH_WANT_OLD_STAT
|
|
# define __ARCH_WANT_SYS_ALARM
|
|
# define __ARCH_WANT_SYS_FADVISE64
|
|
# define __ARCH_WANT_SYS_GETHOSTNAME
|
|
# define __ARCH_WANT_SYS_GETPGRP
|
|
# define __ARCH_WANT_SYS_NICE
|
|
# define __ARCH_WANT_SYS_OLDUMOUNT
|
|
# define __ARCH_WANT_SYS_OLD_GETRLIMIT
|
|
# define __ARCH_WANT_SYS_OLD_UNAME
|
|
# define __ARCH_WANT_SYS_PAUSE
|
|
# define __ARCH_WANT_SYS_SIGNAL
|
|
# define __ARCH_WANT_SYS_SIGPENDING
|
|
# define __ARCH_WANT_SYS_SIGPROCMASK
|
|
# define __ARCH_WANT_SYS_SOCKETCALL
|
|
# define __ARCH_WANT_SYS_TIME32
|
|
# define __ARCH_WANT_SYS_UTIME32
|
|
# define __ARCH_WANT_SYS_WAITPID
|
|
# define __ARCH_WANT_SYS_FORK
|
|
# define __ARCH_WANT_SYS_VFORK
|
|
# define __ARCH_WANT_SYS_CLONE
|
|
|
|
#endif /* _ASM_X86_UNISTD_H */
|