mirror of
https://github.com/torvalds/linux.git
synced 2025-04-12 06:49:52 +00:00

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>
66 lines
1.5 KiB
C
66 lines
1.5 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* arch/arm/include/asm/unistd.h
|
|
*
|
|
* Copyright (C) 2001-2005 Russell King
|
|
*
|
|
* Please forward _all_ changes to this file to rmk@arm.linux.org.uk,
|
|
* no matter what the change is. Thanks!
|
|
*/
|
|
#ifndef __ASM_ARM_UNISTD_H
|
|
#define __ASM_ARM_UNISTD_H
|
|
|
|
#include <uapi/asm/unistd.h>
|
|
#include <asm/unistd-nr.h>
|
|
|
|
#define __ARCH_WANT_NEW_STAT
|
|
#define __ARCH_WANT_STAT64
|
|
#define __ARCH_WANT_SYS_GETHOSTNAME
|
|
#define __ARCH_WANT_SYS_PAUSE
|
|
#define __ARCH_WANT_SYS_GETPGRP
|
|
#define __ARCH_WANT_SYS_NICE
|
|
#define __ARCH_WANT_SYS_SIGPENDING
|
|
#define __ARCH_WANT_SYS_SIGPROCMASK
|
|
#define __ARCH_WANT_SYS_OLD_MMAP
|
|
#define __ARCH_WANT_SYS_OLD_SELECT
|
|
#define __ARCH_WANT_SYS_UTIME32
|
|
|
|
#if !defined(CONFIG_AEABI) || defined(CONFIG_OABI_COMPAT)
|
|
#define __ARCH_WANT_SYS_TIME32
|
|
#define __ARCH_WANT_SYS_IPC
|
|
#define __ARCH_WANT_SYS_OLDUMOUNT
|
|
#define __ARCH_WANT_SYS_ALARM
|
|
#define __ARCH_WANT_SYS_OLD_GETRLIMIT
|
|
#define __ARCH_WANT_OLD_READDIR
|
|
#define __ARCH_WANT_SYS_SOCKETCALL
|
|
#endif
|
|
#define __ARCH_WANT_SYS_FORK
|
|
#define __ARCH_WANT_SYS_VFORK
|
|
#define __ARCH_WANT_SYS_CLONE
|
|
|
|
/*
|
|
* Unimplemented (or alternatively implemented) syscalls
|
|
*/
|
|
#define __IGNORE_fadvise64_64
|
|
|
|
#ifdef __ARM_EABI__
|
|
/*
|
|
* The following syscalls are obsolete and no longer available for EABI:
|
|
* __NR_time
|
|
* __NR_umount
|
|
* __NR_stime
|
|
* __NR_alarm
|
|
* __NR_utime
|
|
* __NR_getrlimit
|
|
* __NR_select
|
|
* __NR_readdir
|
|
* __NR_mmap
|
|
* __NR_socketcall
|
|
* __NR_syscall
|
|
* __NR_ipc
|
|
*/
|
|
#define __IGNORE_getrlimit
|
|
#endif
|
|
|
|
#endif /* __ASM_ARM_UNISTD_H */
|