We don't want new architectures to even provide the old 32-bit time_t based system calls any more, or define the syscall number macros. Add a new __ARCH_WANT_TIME32_SYSCALLS macro that gets enabled for all existing 32-bit architectures using the generic system call table, so we don't change any current behavior. Since this symbol is evaluated in user space as well, we cannot use a Kconfig CONFIG_* macro but have to define it in uapi/asm/unistd.h. On 64-bit architectures, the same system call numbers mostly refer to the system calls we want to keep, as they already pass 64-bit time_t. As new architectures no longer provide these, we need new exceptions in checksyscalls.sh. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			41 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_SET_GET_RLIMIT
 | |
| #define __ARCH_WANT_SYS_EXECVE
 | |
| #define __ARCH_WANT_SYS_CLONE
 | |
| #define __ARCH_WANT_SYS_VFORK
 | |
| #define __ARCH_WANT_SYS_FORK
 | |
| #define __ARCH_WANT_TIME32_SYSCALLS
 | |
| 
 | |
| #include <asm-generic/unistd.h>
 |