New architectures should no longer need stat64, which is not y2038 safe and has been replaced by statx(). This removes the 'select __ARCH_WANT_STAT64' statement from asm-generic/unistd.h and instead moves it into the respective asm/unistd.h UAPI header files for each architecture that uses it today. In the generic file, the system call number and entry points are now made conditional, so newly added architectures (e.g. riscv32 or csky) will never need to carry backwards compatiblity for it. arm64 is the only 64-bit architecture using the asm-generic/unistd.h file, and it already sets __ARCH_WANT_NEW_STAT in its headers, and I use the same #ifdef here: future 64-bit architectures therefore won't see newstat or stat64 any more. They don't suffer from the y2038 time_t overflow, but for consistency it seems best to also let them use statx(). Signed-off-by: Arnd Bergmann <arnd@arndb.de>
38 lines
1.4 KiB
C
38 lines
1.4 KiB
C
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
/*
|
|
* Syscall support for Hexagon
|
|
*
|
|
* Copyright (c) 2010-2011, The Linux Foundation. All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 and
|
|
* only version 2 as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
* 02110-1301, USA.
|
|
*/
|
|
|
|
/*
|
|
* The kernel pulls this unistd.h in three different ways:
|
|
* 1. the "normal" way which gets all the __NR defines
|
|
* 2. with __SYSCALL defined to produce function declarations
|
|
* 3. with __SYSCALL defined to produce syscall table initialization
|
|
* See also: syscalltab.c
|
|
*/
|
|
|
|
#define sys_mmap2 sys_mmap_pgoff
|
|
#define __ARCH_WANT_RENAMEAT
|
|
#define __ARCH_WANT_STAT64
|
|
#define __ARCH_WANT_SYS_EXECVE
|
|
#define __ARCH_WANT_SYS_CLONE
|
|
#define __ARCH_WANT_SYS_VFORK
|
|
#define __ARCH_WANT_SYS_FORK
|
|
|
|
#include <asm-generic/unistd.h>
|