History

Merge tag 'y2038-syscall-abi' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground into timers/2038

Pull additional syscall ABI cleanup for y2038 from Arnd Bergmann: This is a follow-up to the y2038 syscall patches already merged in the tip tree. As the final 32-bit RISC-V syscall ABI is still being decided on, this is the last chance to make a few corrections to leave out interfaces based on 32-bit time_t along with the old off_t and rlimit types. The series achieves this in a few steps: - A couple of bug fixes for minor regressions I introduced in the original series - A couple of older patches from Yury Norov that I had never merged in the past, these fix up the openat/open_by_handle_at and getrlimit/setrlimit syscalls to disallow the old versions of off_t and rlimit. - Hiding the deprecated system calls behind an #ifdef in include/uapi/asm-generic/unistd.h - Change arch/riscv to drop all these ABIs. Originally, the plan was to also leave these out on C-Sky, but that now has a glibc port that uses the older interfaces, so we need to leave them in place.

Thomas Gleixner committed 7 years ago

Commit cfbe2712 parents 41ea391 d4c08b936 files · +110 −8Browse files

Unified · Split

36 files
  1. arch/Kconfig +10 −0
  2. arch/arc/Kconfig +1 −0
  3. arch/arc/include/uapi/asm/unistd.h +2 −0
  4. arch/arm/Kconfig +1 −0
  5. arch/arm64/include/uapi/asm/unistd.h +2 −0
  6. arch/c6x/Kconfig +1 −0
  7. arch/c6x/include/uapi/asm/unistd.h +2 −0
  8. arch/csky/Kconfig +1 −0
  9. arch/csky/include/uapi/asm/unistd.h +2 −0
  10. arch/h8300/Kconfig +1 −0
  11. arch/h8300/include/uapi/asm/unistd.h +2 −0
  12. arch/hexagon/Kconfig +1 −0
  13. arch/hexagon/include/uapi/asm/unistd.h +2 −0
  14. arch/m68k/Kconfig +1 −0
  15. arch/microblaze/Kconfig +1 −0
  16. arch/mips/Kconfig +1 −0
  17. arch/nds32/Kconfig +1 −0
  18. arch/nds32/include/uapi/asm/unistd.h +2 −0
  19. arch/nios2/Kconfig +1 −0
  20. arch/nios2/include/uapi/asm/unistd.h +2 −0
  21. arch/openrisc/Kconfig +1 −0
  22. arch/openrisc/include/uapi/asm/unistd.h +2 −0
  23. arch/parisc/Kconfig +1 −0
  24. arch/powerpc/Kconfig +1 −0
  25. arch/riscv/include/uapi/asm/unistd.h +1 −0
  26. arch/riscv/kernel/vdso/Makefile +2 −0
  27. arch/sh/Kconfig +1 −0
  28. arch/sparc/Kconfig +1 −0
  29. arch/unicore32/Kconfig +1 −0
  30. arch/unicore32/include/uapi/asm/unistd.h +3 −1
  31. arch/x86/Kconfig +1 −0
  32. arch/x86/um/Kconfig +1 −0
  33. arch/xtensa/Kconfig +1 −0
  34. include/linux/fcntl.h +1 −1
  35. include/uapi/asm-generic/unistd.h +43 −3
  36. scripts/checksyscalls.sh +12 −3
arch/Kconfig+10−0
@@ -276,6 +276,16 @@ config ARCH_THREAD_STACK_ALLOCATOR · 275 unmodified lines
276config ARCH_WANTS_DYNAMIC_TASK_STRUCT276config ARCH_WANTS_DYNAMIC_TASK_STRUCT
277 bool277 bool
278 278
279config ARCH_32BIT_OFF_T
280 bool
281 depends on !64BIT
282 help
283 All new 32-bit architectures should have 64-bit off_t type on
284 userspace side which corresponds to the loff_t kernel type. This
285 is the requirement for modern ABIs. Some existing architectures
286 still support 32-bit off_t. This option is enabled for all such
287 architectures explicitly.
288
279config HAVE_REGS_AND_STACK_ACCESS_API289config HAVE_REGS_AND_STACK_ACCESS_API
280 bool290 bool
281 help291 help
arch/arc/Kconfig+1−0
@@ -14,6 +14,7 @@ config ARC · 13 unmodified lines
14 select ARCH_HAS_SYNC_DMA_FOR_CPU14 select ARCH_HAS_SYNC_DMA_FOR_CPU
15 select ARCH_HAS_SYNC_DMA_FOR_DEVICE15 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
16 select ARCH_SUPPORTS_ATOMIC_RMW if ARC_HAS_LLSC16 select ARCH_SUPPORTS_ATOMIC_RMW if ARC_HAS_LLSC
17 select ARCH_32BIT_OFF_T
17 select BUILDTIME_EXTABLE_SORT18 select BUILDTIME_EXTABLE_SORT
18 select CLONE_BACKWARDS19 select CLONE_BACKWARDS
19 select COMMON_CLK20 select COMMON_CLK
arch/arc/include/uapi/asm/unistd.h+2−0
@@ -18,10 +18,12 @@ · 17 unmodified lines
18 18
19#define __ARCH_WANT_RENAMEAT19#define __ARCH_WANT_RENAMEAT
20#define __ARCH_WANT_STAT6420#define __ARCH_WANT_STAT64
21#define __ARCH_WANT_SET_GET_RLIMIT
21#define __ARCH_WANT_SYS_EXECVE22#define __ARCH_WANT_SYS_EXECVE
22#define __ARCH_WANT_SYS_CLONE23#define __ARCH_WANT_SYS_CLONE
23#define __ARCH_WANT_SYS_VFORK24#define __ARCH_WANT_SYS_VFORK
24#define __ARCH_WANT_SYS_FORK25#define __ARCH_WANT_SYS_FORK
26#define __ARCH_WANT_TIME32_SYSCALLS
25 27
26#define sys_mmap2 sys_mmap_pgoff28#define sys_mmap2 sys_mmap_pgoff
27 29
arch/arm/Kconfig+1−0
@@ -2,6 +2,7 @@ · 1 unmodified line
2config ARM2config ARM
3 bool3 bool
4 default y4 default y
5 select ARCH_32BIT_OFF_T
5 select ARCH_CLOCKSOURCE_DATA6 select ARCH_CLOCKSOURCE_DATA
6 select ARCH_DISCARD_MEMBLOCK if !HAVE_ARCH_PFN_VALID && !KEXEC7 select ARCH_DISCARD_MEMBLOCK if !HAVE_ARCH_PFN_VALID && !KEXEC
7 select ARCH_HAS_DEBUG_VIRTUAL if MMU8 select ARCH_HAS_DEBUG_VIRTUAL if MMU
arch/arm64/include/uapi/asm/unistd.h+2−0
@@ -17,5 +17,7 @@ · 16 unmodified lines
17 17
18#define __ARCH_WANT_RENAMEAT18#define __ARCH_WANT_RENAMEAT
19#define __ARCH_WANT_NEW_STAT19#define __ARCH_WANT_NEW_STAT
20#define __ARCH_WANT_SET_GET_RLIMIT
21#define __ARCH_WANT_TIME32_SYSCALLS
20 22
21#include <asm-generic/unistd.h>23#include <asm-generic/unistd.h>
arch/c6x/Kconfig+1−0
@@ -6,6 +6,7 @@ · 5 unmodified lines
6 6
7config C6X7config C6X
8 def_bool y8 def_bool y
9 select ARCH_32BIT_OFF_T
9 select ARCH_HAS_SYNC_DMA_FOR_CPU10 select ARCH_HAS_SYNC_DMA_FOR_CPU
10 select ARCH_HAS_SYNC_DMA_FOR_DEVICE11 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
11 select CLKDEV_LOOKUP12 select CLKDEV_LOOKUP
arch/c6x/include/uapi/asm/unistd.h+2−0
@@ -17,7 +17,9 @@ · 16 unmodified lines
17 17
18#define __ARCH_WANT_RENAMEAT18#define __ARCH_WANT_RENAMEAT
19#define __ARCH_WANT_STAT6419#define __ARCH_WANT_STAT64
20#define __ARCH_WANT_SET_GET_RLIMIT
20#define __ARCH_WANT_SYS_CLONE21#define __ARCH_WANT_SYS_CLONE
22#define __ARCH_WANT_TIME32_SYSCALLS
21 23
22/* Use the standard ABI for syscalls. */24/* Use the standard ABI for syscalls. */
23#include <asm-generic/unistd.h>25#include <asm-generic/unistd.h>
arch/csky/Kconfig+1−0
@@ -1,5 +1,6 @@
1config CSKY1config CSKY
2 def_bool y2 def_bool y
3 select ARCH_32BIT_OFF_T
3 select ARCH_HAS_SYNC_DMA_FOR_CPU4 select ARCH_HAS_SYNC_DMA_FOR_CPU
4 select ARCH_HAS_SYNC_DMA_FOR_DEVICE5 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
5 select ARCH_USE_BUILTIN_BSWAP6 select ARCH_USE_BUILTIN_BSWAP
arch/csky/include/uapi/asm/unistd.h+2−0
@@ -2,6 +2,8 @@ · 1 unmodified line
2// Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.2// Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.
3 3
4#define __ARCH_WANT_SYS_CLONE4#define __ARCH_WANT_SYS_CLONE
5#define __ARCH_WANT_SET_GET_RLIMIT
6#define __ARCH_WANT_TIME32_SYSCALLS
5#include <asm-generic/unistd.h>7#include <asm-generic/unistd.h>
6 8
7#define __NR_set_thread_area (__NR_arch_specific_syscall + 0)9#define __NR_set_thread_area (__NR_arch_specific_syscall + 0)
arch/h8300/Kconfig+1−0
@@ -1,6 +1,7 @@
1# SPDX-License-Identifier: GPL-2.01# SPDX-License-Identifier: GPL-2.0
2config H83002config H8300
3 def_bool y3 def_bool y
4 select ARCH_32BIT_OFF_T
4 select GENERIC_ATOMIC645 select GENERIC_ATOMIC64
5 select HAVE_UID166 select HAVE_UID16
6 select VIRT_TO_BUS7 select VIRT_TO_BUS
arch/h8300/include/uapi/asm/unistd.h+2−0
@@ -2,5 +2,7 @@ · 1 unmodified line
2 2
3#define __ARCH_WANT_RENAMEAT3#define __ARCH_WANT_RENAMEAT
4#define __ARCH_WANT_STAT644#define __ARCH_WANT_STAT64
5#define __ARCH_WANT_SET_GET_RLIMIT
6#define __ARCH_WANT_TIME32_SYSCALLS
5 7
6#include <asm-generic/unistd.h>8#include <asm-generic/unistd.h>
arch/hexagon/Kconfig+1−0
@@ -4,6 +4,7 @@ comment "Linux Kernel Configuration for Hexagon" · 3 unmodified lines
4 4
5config HEXAGON5config HEXAGON
6 def_bool y6 def_bool y
7 select ARCH_32BIT_OFF_T
7 select ARCH_HAS_SYNC_DMA_FOR_DEVICE8 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
8 select ARCH_NO_PREEMPT9 select ARCH_NO_PREEMPT
9 select HAVE_OPROFILE10 select HAVE_OPROFILE
arch/hexagon/include/uapi/asm/unistd.h+2−0
@@ -30,9 +30,11 @@ · 29 unmodified lines
30#define sys_mmap2 sys_mmap_pgoff30#define sys_mmap2 sys_mmap_pgoff
31#define __ARCH_WANT_RENAMEAT31#define __ARCH_WANT_RENAMEAT
32#define __ARCH_WANT_STAT6432#define __ARCH_WANT_STAT64
33#define __ARCH_WANT_SET_GET_RLIMIT
33#define __ARCH_WANT_SYS_EXECVE34#define __ARCH_WANT_SYS_EXECVE
34#define __ARCH_WANT_SYS_CLONE35#define __ARCH_WANT_SYS_CLONE
35#define __ARCH_WANT_SYS_VFORK36#define __ARCH_WANT_SYS_VFORK
36#define __ARCH_WANT_SYS_FORK37#define __ARCH_WANT_SYS_FORK
38#define __ARCH_WANT_TIME32_SYSCALLS
37 39
38#include <asm-generic/unistd.h>40#include <asm-generic/unistd.h>
arch/m68k/Kconfig+1−0
@@ -2,6 +2,7 @@ · 1 unmodified line
2config M68K2config M68K
3 bool3 bool
4 default y4 default y
5 select ARCH_32BIT_OFF_T
5 select ARCH_HAS_SYNC_DMA_FOR_DEVICE if HAS_DMA6 select ARCH_HAS_SYNC_DMA_FOR_DEVICE if HAS_DMA
6 select ARCH_MIGHT_HAVE_PC_PARPORT if ISA7 select ARCH_MIGHT_HAVE_PC_PARPORT if ISA
7 select ARCH_NO_COHERENT_DMA_MMAP if !MMU8 select ARCH_NO_COHERENT_DMA_MMAP if !MMU
arch/microblaze/Kconfig+1−0
@@ -1,5 +1,6 @@
1config MICROBLAZE1config MICROBLAZE
2 def_bool y2 def_bool y
3 select ARCH_32BIT_OFF_T
3 select ARCH_NO_SWAP4 select ARCH_NO_SWAP
4 select ARCH_HAS_DMA_COHERENT_TO_PFN if MMU5 select ARCH_HAS_DMA_COHERENT_TO_PFN if MMU
5 select ARCH_HAS_GCOV_PROFILE_ALL6 select ARCH_HAS_GCOV_PROFILE_ALL
arch/mips/Kconfig+1−0
@@ -2,6 +2,7 @@ · 1 unmodified line
2config MIPS2config MIPS
3 bool3 bool
4 default y4 default y
5 select ARCH_32BIT_OFF_T if !64BIT
5 select ARCH_BINFMT_ELF_STATE if MIPS_FP_SUPPORT6 select ARCH_BINFMT_ELF_STATE if MIPS_FP_SUPPORT
6 select ARCH_CLOCKSOURCE_DATA7 select ARCH_CLOCKSOURCE_DATA
7 select ARCH_DISCARD_MEMBLOCK8 select ARCH_DISCARD_MEMBLOCK
arch/nds32/Kconfig+1−0
@@ -5,6 +5,7 @@ · 4 unmodified lines
5 5
6config NDS326config NDS32
7 def_bool y7 def_bool y
8 select ARCH_32BIT_OFF_T
8 select ARCH_HAS_SYNC_DMA_FOR_CPU9 select ARCH_HAS_SYNC_DMA_FOR_CPU
9 select ARCH_HAS_SYNC_DMA_FOR_DEVICE10 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
10 select ARCH_WANT_FRAME_POINTERS if FTRACE11 select ARCH_WANT_FRAME_POINTERS if FTRACE
arch/nds32/include/uapi/asm/unistd.h+2−0
@@ -3,6 +3,8 @@ · 2 unmodified lines
3 3
4#define __ARCH_WANT_STAT644#define __ARCH_WANT_STAT64
5#define __ARCH_WANT_SYNC_FILE_RANGE25#define __ARCH_WANT_SYNC_FILE_RANGE2
6#define __ARCH_WANT_SET_GET_RLIMIT
7#define __ARCH_WANT_TIME32_SYSCALLS
6 8
7/* Use the standard ABI for syscalls */9/* Use the standard ABI for syscalls */
8#include <asm-generic/unistd.h>10#include <asm-generic/unistd.h>
arch/nios2/Kconfig+1−0
@@ -1,6 +1,7 @@
1# SPDX-License-Identifier: GPL-2.01# SPDX-License-Identifier: GPL-2.0
2config NIOS22config NIOS2
3 def_bool y3 def_bool y
4 select ARCH_32BIT_OFF_T
4 select ARCH_HAS_SYNC_DMA_FOR_CPU5 select ARCH_HAS_SYNC_DMA_FOR_CPU
5 select ARCH_HAS_SYNC_DMA_FOR_DEVICE6 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
6 select ARCH_NO_SWAP7 select ARCH_NO_SWAP
arch/nios2/include/uapi/asm/unistd.h+2−0
@@ -20,6 +20,8 @@ · 19 unmodified lines
20 20
21#define __ARCH_WANT_RENAMEAT21#define __ARCH_WANT_RENAMEAT
22#define __ARCH_WANT_STAT6422#define __ARCH_WANT_STAT64
23#define __ARCH_WANT_SET_GET_RLIMIT
24#define __ARCH_WANT_TIME32_SYSCALLS
23 25
24/* Use the standard ABI for syscalls */26/* Use the standard ABI for syscalls */
25#include <asm-generic/unistd.h>27#include <asm-generic/unistd.h>
arch/openrisc/Kconfig+1−0
@@ -6,6 +6,7 @@ · 5 unmodified lines
6 6
7config OPENRISC7config OPENRISC
8 def_bool y8 def_bool y
9 select ARCH_32BIT_OFF_T
9 select ARCH_HAS_SYNC_DMA_FOR_DEVICE10 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
10 select OF11 select OF
11 select OF_EARLY_FLATTREE12 select OF_EARLY_FLATTREE
arch/openrisc/include/uapi/asm/unistd.h+2−0
@@ -21,8 +21,10 @@ · 20 unmodified lines
21 21
22#define __ARCH_WANT_RENAMEAT22#define __ARCH_WANT_RENAMEAT
23#define __ARCH_WANT_STAT6423#define __ARCH_WANT_STAT64
24#define __ARCH_WANT_SET_GET_RLIMIT
24#define __ARCH_WANT_SYS_FORK25#define __ARCH_WANT_SYS_FORK
25#define __ARCH_WANT_SYS_CLONE26#define __ARCH_WANT_SYS_CLONE
27#define __ARCH_WANT_TIME32_SYSCALLS
26 28
27#include <asm-generic/unistd.h>29#include <asm-generic/unistd.h>
28 30
arch/parisc/Kconfig+1−0
@@ -1,6 +1,7 @@
1# SPDX-License-Identifier: GPL-2.01# SPDX-License-Identifier: GPL-2.0
2config PARISC2config PARISC
3 def_bool y3 def_bool y
4 select ARCH_32BIT_OFF_T if !64BIT
4 select ARCH_MIGHT_HAVE_PC_PARPORT5 select ARCH_MIGHT_HAVE_PC_PARPORT
5 select HAVE_IDE6 select HAVE_IDE
6 select HAVE_OPROFILE7 select HAVE_OPROFILE
arch/powerpc/Kconfig+1−0
@@ -128,6 +128,7 @@ config PPC · 127 unmodified lines
128 #128 #
129 # Please keep this list sorted alphabetically.129 # Please keep this list sorted alphabetically.
130 #130 #
131 select ARCH_32BIT_OFF_T if PPC32
131 select ARCH_HAS_DEBUG_VIRTUAL132 select ARCH_HAS_DEBUG_VIRTUAL
132 select ARCH_HAS_DEVMEM_IS_ALLOWED133 select ARCH_HAS_DEVMEM_IS_ALLOWED
133 select ARCH_HAS_DMA_SET_COHERENT_MASK134 select ARCH_HAS_DMA_SET_COHERENT_MASK
arch/riscv/include/uapi/asm/unistd.h+1−0
@@ -17,6 +17,7 @@ · 16 unmodified lines
17 17
18#ifdef __LP64__18#ifdef __LP64__
19#define __ARCH_WANT_NEW_STAT19#define __ARCH_WANT_NEW_STAT
20#define __ARCH_WANT_SET_GET_RLIMIT
20#endif /* __LP64__ */21#endif /* __LP64__ */
21 22
22#include <asm-generic/unistd.h>23#include <asm-generic/unistd.h>
arch/riscv/kernel/vdso/Makefile+2−0
@@ -2,9 +2,11 @@ · 1 unmodified line
2 2
3# Symbols present in the vdso3# Symbols present in the vdso
4vdso-syms = rt_sigreturn4vdso-syms = rt_sigreturn
5ifdef CONFIG_64BIT
5vdso-syms += gettimeofday6vdso-syms += gettimeofday
6vdso-syms += clock_gettime7vdso-syms += clock_gettime
7vdso-syms += clock_getres8vdso-syms += clock_getres
9endif
8vdso-syms += getcpu10vdso-syms += getcpu
9vdso-syms += flush_icache11vdso-syms += flush_icache
10 12
arch/sh/Kconfig+1−0
@@ -62,6 +62,7 @@ config SUPERH · 61 unmodified lines
62 62
63config SUPERH3263config SUPERH32
64 def_bool "$(ARCH)" = "sh"64 def_bool "$(ARCH)" = "sh"
65 select ARCH_32BIT_OFF_T
65 select HAVE_KPROBES66 select HAVE_KPROBES
66 select HAVE_KRETPROBES67 select HAVE_KRETPROBES
67 select HAVE_IOREMAP_PROT if MMU && !X2TLB68 select HAVE_IOREMAP_PROT if MMU && !X2TLB
arch/sparc/Kconfig+1−0
@@ -49,6 +49,7 @@ config SPARC · 48 unmodified lines
49 49
50config SPARC3250config SPARC32
51 def_bool !64BIT51 def_bool !64BIT
52 select ARCH_32BIT_OFF_T
52 select ARCH_HAS_SYNC_DMA_FOR_CPU53 select ARCH_HAS_SYNC_DMA_FOR_CPU
53 select GENERIC_ATOMIC6454 select GENERIC_ATOMIC64
54 select CLZ_TAB55 select CLZ_TAB
arch/unicore32/Kconfig+1−0
@@ -1,6 +1,7 @@
1# SPDX-License-Identifier: GPL-2.01# SPDX-License-Identifier: GPL-2.0
2config UNICORE322config UNICORE32
3 def_bool y3 def_bool y
4 select ARCH_32BIT_OFF_T
4 select ARCH_HAS_DEVMEM_IS_ALLOWED5 select ARCH_HAS_DEVMEM_IS_ALLOWED
5 select ARCH_MIGHT_HAVE_PC_PARPORT6 select ARCH_MIGHT_HAVE_PC_PARPORT
6 select ARCH_MIGHT_HAVE_PC_SERIO7 select ARCH_MIGHT_HAVE_PC_SERIO
arch/unicore32/include/uapi/asm/unistd.h+3−1
@@ -12,8 +12,10 @@ · 11 unmodified lines
12 */12 */
13 13
14#define __ARCH_WANT_RENAMEAT14#define __ARCH_WANT_RENAMEAT
15#define __ARCH_WANT_SET_GET_RLIMIT
16#define __ARCH_WANT_STAT64
17#define __ARCH_WANT_TIME32_SYSCALLS
15 18
16/* Use the standard ABI for syscalls. */19/* Use the standard ABI for syscalls. */
17#include <asm-generic/unistd.h>20#include <asm-generic/unistd.h>
18#define __ARCH_WANT_STAT64
19#define __ARCH_WANT_SYS_CLONE21#define __ARCH_WANT_SYS_CLONE
arch/x86/Kconfig+1−0
@@ -47,6 +47,7 @@ config X86 · 46 unmodified lines
47 select ACPI_LEGACY_TABLES_LOOKUP if ACPI47 select ACPI_LEGACY_TABLES_LOOKUP if ACPI
48 select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI48 select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
49 select ANON_INODES49 select ANON_INODES
50 select ARCH_32BIT_OFF_T if X86_32
50 select ARCH_CLOCKSOURCE_DATA51 select ARCH_CLOCKSOURCE_DATA
51 select ARCH_CLOCKSOURCE_INIT52 select ARCH_CLOCKSOURCE_INIT
52 select ARCH_DISCARD_MEMBLOCK53 select ARCH_DISCARD_MEMBLOCK
arch/x86/um/Kconfig+1−0
@@ -17,6 +17,7 @@ config 64BIT · 16 unmodified lines
17config X86_3217config X86_32
18 def_bool !64BIT18 def_bool !64BIT
19 select HAVE_AOUT19 select HAVE_AOUT
20 select ARCH_32BIT_OFF_T
20 select ARCH_WANT_IPC_PARSE_VERSION21 select ARCH_WANT_IPC_PARSE_VERSION
21 select MODULES_USE_ELF_REL22 select MODULES_USE_ELF_REL
22 select CLONE_BACKWARDS23 select CLONE_BACKWARDS
arch/xtensa/Kconfig+1−0
@@ -1,6 +1,7 @@
1# SPDX-License-Identifier: GPL-2.01# SPDX-License-Identifier: GPL-2.0
2config XTENSA2config XTENSA
3 def_bool y3 def_bool y
4 select ARCH_32BIT_OFF_T
4 select ARCH_HAS_SYNC_DMA_FOR_CPU5 select ARCH_HAS_SYNC_DMA_FOR_CPU
5 select ARCH_HAS_SYNC_DMA_FOR_DEVICE6 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
6 select ARCH_NO_COHERENT_DMA_MMAP if !MMU7 select ARCH_NO_COHERENT_DMA_MMAP if !MMU
include/linux/fcntl.h+1−1
@@ -12,7 +12,7 @@ · 11 unmodified lines
12 O_NOATIME | O_CLOEXEC | O_PATH | __O_TMPFILE)12 O_NOATIME | O_CLOEXEC | O_PATH | __O_TMPFILE)
13 13
14#ifndef force_o_largefile14#ifndef force_o_largefile
15#define force_o_largefile() (BITS_PER_LONG != 32)15#define force_o_largefile() (!IS_ENABLED(CONFIG_ARCH_32BIT_OFF_T))
16#endif16#endif
17 17
18#if BITS_PER_LONG == 3218#if BITS_PER_LONG == 32
include/uapi/asm-generic/unistd.h+43−3
@@ -38,8 +38,10 @@ __SYSCALL(__NR_io_destroy, sys_io_destroy) · 37 unmodified lines
38__SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit)38__SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit)
39#define __NR_io_cancel 339#define __NR_io_cancel 3
40__SYSCALL(__NR_io_cancel, sys_io_cancel)40__SYSCALL(__NR_io_cancel, sys_io_cancel)
41#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
41#define __NR_io_getevents 442#define __NR_io_getevents 4
42__SC_3264(__NR_io_getevents, sys_io_getevents_time32, sys_io_getevents)43__SC_3264(__NR_io_getevents, sys_io_getevents_time32, sys_io_getevents)
44#endif
43 45
44/* fs/xattr.c */46/* fs/xattr.c */
45#define __NR_setxattr 547#define __NR_setxattr 5
@@ -179,7 +181,7 @@ __SYSCALL(__NR_fchownat, sys_fchownat) · 133 unmodified lines
179#define __NR_fchown 55181#define __NR_fchown 55
180__SYSCALL(__NR_fchown, sys_fchown)182__SYSCALL(__NR_fchown, sys_fchown)
181#define __NR_openat 56183#define __NR_openat 56
182__SC_COMP(__NR_openat, sys_openat, compat_sys_openat)184__SYSCALL(__NR_openat, sys_openat)
183#define __NR_close 57185#define __NR_close 57
184__SYSCALL(__NR_close, sys_close)186__SYSCALL(__NR_close, sys_close)
185#define __NR_vhangup 58187#define __NR_vhangup 58
@@ -222,10 +224,12 @@ __SC_COMP(__NR_pwritev, sys_pwritev, compat_sys_pwritev) · 36 unmodified lines
222__SYSCALL(__NR3264_sendfile, sys_sendfile64)224__SYSCALL(__NR3264_sendfile, sys_sendfile64)
223 225
224/* fs/select.c */226/* fs/select.c */
227#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
225#define __NR_pselect6 72228#define __NR_pselect6 72
226__SC_COMP_3264(__NR_pselect6, sys_pselect6_time32, sys_pselect6, compat_sys_pselect6_time32)229__SC_COMP_3264(__NR_pselect6, sys_pselect6_time32, sys_pselect6, compat_sys_pselect6_time32)
227#define __NR_ppoll 73230#define __NR_ppoll 73
228__SC_COMP_3264(__NR_ppoll, sys_ppoll_time32, sys_ppoll, compat_sys_ppoll_time32)231__SC_COMP_3264(__NR_ppoll, sys_ppoll_time32, sys_ppoll, compat_sys_ppoll_time32)
232#endif
229 233
230/* fs/signalfd.c */234/* fs/signalfd.c */
231#define __NR_signalfd4 74235#define __NR_signalfd4 74
@@ -269,16 +273,20 @@ __SC_COMP(__NR_sync_file_range, sys_sync_file_range, \ · 37 unmodified lines
269/* fs/timerfd.c */273/* fs/timerfd.c */
270#define __NR_timerfd_create 85274#define __NR_timerfd_create 85
271__SYSCALL(__NR_timerfd_create, sys_timerfd_create)275__SYSCALL(__NR_timerfd_create, sys_timerfd_create)
276#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
272#define __NR_timerfd_settime 86277#define __NR_timerfd_settime 86
273__SC_3264(__NR_timerfd_settime, sys_timerfd_settime32, \278__SC_3264(__NR_timerfd_settime, sys_timerfd_settime32, \
274 sys_timerfd_settime)279 sys_timerfd_settime)
275#define __NR_timerfd_gettime 87280#define __NR_timerfd_gettime 87
276__SC_3264(__NR_timerfd_gettime, sys_timerfd_gettime32, \281__SC_3264(__NR_timerfd_gettime, sys_timerfd_gettime32, \
277 sys_timerfd_gettime)282 sys_timerfd_gettime)
283#endif
278 284
279/* fs/utimes.c */285/* fs/utimes.c */
286#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
280#define __NR_utimensat 88287#define __NR_utimensat 88
281__SC_3264(__NR_utimensat, sys_utimensat_time32, sys_utimensat)288__SC_3264(__NR_utimensat, sys_utimensat_time32, sys_utimensat)
289#endif
282 290
283/* kernel/acct.c */291/* kernel/acct.c */
284#define __NR_acct 89292#define __NR_acct 89
@@ -309,8 +317,10 @@ __SYSCALL(__NR_set_tid_address, sys_set_tid_address) · 24 unmodified lines
309__SYSCALL(__NR_unshare, sys_unshare)317__SYSCALL(__NR_unshare, sys_unshare)
310 318
311/* kernel/futex.c */319/* kernel/futex.c */
320#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
312#define __NR_futex 98321#define __NR_futex 98
313__SC_3264(__NR_futex, sys_futex_time32, sys_futex)322__SC_3264(__NR_futex, sys_futex_time32, sys_futex)
323#endif
314#define __NR_set_robust_list 99324#define __NR_set_robust_list 99
315__SC_COMP(__NR_set_robust_list, sys_set_robust_list, \325__SC_COMP(__NR_set_robust_list, sys_set_robust_list, \
316 compat_sys_set_robust_list)326 compat_sys_set_robust_list)
@@ -319,8 +329,10 @@ __SC_COMP(__NR_get_robust_list, sys_get_robust_list, \ · 2 unmodified lines
319 compat_sys_get_robust_list)329 compat_sys_get_robust_list)
320 330
321/* kernel/hrtimer.c */331/* kernel/hrtimer.c */
332#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
322#define __NR_nanosleep 101333#define __NR_nanosleep 101
323__SC_3264(__NR_nanosleep, sys_nanosleep_time32, sys_nanosleep)334__SC_3264(__NR_nanosleep, sys_nanosleep_time32, sys_nanosleep)
335#endif
324 336
325/* kernel/itimer.c */337/* kernel/itimer.c */
326#define __NR_getitimer 102338#define __NR_getitimer 102
@@ -341,14 +353,19 @@ __SYSCALL(__NR_delete_module, sys_delete_module) · 14 unmodified lines
341/* kernel/posix-timers.c */353/* kernel/posix-timers.c */
342#define __NR_timer_create 107354#define __NR_timer_create 107
343__SC_COMP(__NR_timer_create, sys_timer_create, compat_sys_timer_create)355__SC_COMP(__NR_timer_create, sys_timer_create, compat_sys_timer_create)
356#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
344#define __NR_timer_gettime 108357#define __NR_timer_gettime 108
345__SC_3264(__NR_timer_gettime, sys_timer_gettime32, sys_timer_gettime)358__SC_3264(__NR_timer_gettime, sys_timer_gettime32, sys_timer_gettime)
359#endif
346#define __NR_timer_getoverrun 109360#define __NR_timer_getoverrun 109
347__SYSCALL(__NR_timer_getoverrun, sys_timer_getoverrun)361__SYSCALL(__NR_timer_getoverrun, sys_timer_getoverrun)
362#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
348#define __NR_timer_settime 110363#define __NR_timer_settime 110
349__SC_3264(__NR_timer_settime, sys_timer_settime32, sys_timer_settime)364__SC_3264(__NR_timer_settime, sys_timer_settime32, sys_timer_settime)
365#endif
350#define __NR_timer_delete 111366#define __NR_timer_delete 111
351__SYSCALL(__NR_timer_delete, sys_timer_delete)367__SYSCALL(__NR_timer_delete, sys_timer_delete)
368#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
352#define __NR_clock_settime 112369#define __NR_clock_settime 112
353__SC_3264(__NR_clock_settime, sys_clock_settime32, sys_clock_settime)370__SC_3264(__NR_clock_settime, sys_clock_settime32, sys_clock_settime)
354#define __NR_clock_gettime 113371#define __NR_clock_gettime 113
@@ -358,6 +375,7 @@ __SC_3264(__NR_clock_getres, sys_clock_getres_time32, sys_clock_getres) · 3 unmodified lines
358#define __NR_clock_nanosleep 115375#define __NR_clock_nanosleep 115
359__SC_3264(__NR_clock_nanosleep, sys_clock_nanosleep_time32, \376__SC_3264(__NR_clock_nanosleep, sys_clock_nanosleep_time32, \
360 sys_clock_nanosleep)377 sys_clock_nanosleep)
378#endif
361 379
362/* kernel/printk.c */380/* kernel/printk.c */
363#define __NR_syslog 116381#define __NR_syslog 116
@@ -388,9 +406,11 @@ __SYSCALL(__NR_sched_yield, sys_sched_yield) · 24 unmodified lines
388__SYSCALL(__NR_sched_get_priority_max, sys_sched_get_priority_max)406__SYSCALL(__NR_sched_get_priority_max, sys_sched_get_priority_max)
389#define __NR_sched_get_priority_min 126407#define __NR_sched_get_priority_min 126
390__SYSCALL(__NR_sched_get_priority_min, sys_sched_get_priority_min)408__SYSCALL(__NR_sched_get_priority_min, sys_sched_get_priority_min)
409#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
391#define __NR_sched_rr_get_interval 127410#define __NR_sched_rr_get_interval 127
392__SC_3264(__NR_sched_rr_get_interval, sys_sched_rr_get_interval_time32, \411__SC_3264(__NR_sched_rr_get_interval, sys_sched_rr_get_interval_time32, \
393 sys_sched_rr_get_interval)412 sys_sched_rr_get_interval)
413#endif
394 414
395/* kernel/signal.c */415/* kernel/signal.c */
396#define __NR_restart_syscall 128416#define __NR_restart_syscall 128
@@ -411,9 +431,11 @@ __SC_COMP(__NR_rt_sigaction, sys_rt_sigaction, compat_sys_rt_sigaction) · 14 unmodified lines
411__SC_COMP(__NR_rt_sigprocmask, sys_rt_sigprocmask, compat_sys_rt_sigprocmask)431__SC_COMP(__NR_rt_sigprocmask, sys_rt_sigprocmask, compat_sys_rt_sigprocmask)
412#define __NR_rt_sigpending 136432#define __NR_rt_sigpending 136
413__SC_COMP(__NR_rt_sigpending, sys_rt_sigpending, compat_sys_rt_sigpending)433__SC_COMP(__NR_rt_sigpending, sys_rt_sigpending, compat_sys_rt_sigpending)
434#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
414#define __NR_rt_sigtimedwait 137435#define __NR_rt_sigtimedwait 137
415__SC_COMP_3264(__NR_rt_sigtimedwait, sys_rt_sigtimedwait_time32, \436__SC_COMP_3264(__NR_rt_sigtimedwait, sys_rt_sigtimedwait_time32, \
416 sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time32)437 sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time32)
438#endif
417#define __NR_rt_sigqueueinfo 138439#define __NR_rt_sigqueueinfo 138
418__SC_COMP(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo, \440__SC_COMP(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo, \
419 compat_sys_rt_sigqueueinfo)441 compat_sys_rt_sigqueueinfo)
@@ -467,10 +489,15 @@ __SYSCALL(__NR_uname, sys_newuname) · 47 unmodified lines
467__SYSCALL(__NR_sethostname, sys_sethostname)489__SYSCALL(__NR_sethostname, sys_sethostname)
468#define __NR_setdomainname 162490#define __NR_setdomainname 162
469__SYSCALL(__NR_setdomainname, sys_setdomainname)491__SYSCALL(__NR_setdomainname, sys_setdomainname)
492
493#ifdef __ARCH_WANT_SET_GET_RLIMIT
494/* getrlimit and setrlimit are superseded with prlimit64 */
470#define __NR_getrlimit 163495#define __NR_getrlimit 163
471__SC_COMP(__NR_getrlimit, sys_getrlimit, compat_sys_getrlimit)496__SC_COMP(__NR_getrlimit, sys_getrlimit, compat_sys_getrlimit)
472#define __NR_setrlimit 164497#define __NR_setrlimit 164
473__SC_COMP(__NR_setrlimit, sys_setrlimit, compat_sys_setrlimit)498__SC_COMP(__NR_setrlimit, sys_setrlimit, compat_sys_setrlimit)
499#endif
500
474#define __NR_getrusage 165501#define __NR_getrusage 165
475__SC_COMP(__NR_getrusage, sys_getrusage, compat_sys_getrusage)502__SC_COMP(__NR_getrusage, sys_getrusage, compat_sys_getrusage)
476#define __NR_umask 166503#define __NR_umask 166
@@ -481,12 +508,14 @@ __SYSCALL(__NR_prctl, sys_prctl) · 4 unmodified lines
481__SYSCALL(__NR_getcpu, sys_getcpu)508__SYSCALL(__NR_getcpu, sys_getcpu)
482 509
483/* kernel/time.c */510/* kernel/time.c */
511#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
484#define __NR_gettimeofday 169512#define __NR_gettimeofday 169
485__SC_COMP(__NR_gettimeofday, sys_gettimeofday, compat_sys_gettimeofday)513__SC_COMP(__NR_gettimeofday, sys_gettimeofday, compat_sys_gettimeofday)
486#define __NR_settimeofday 170514#define __NR_settimeofday 170
487__SC_COMP(__NR_settimeofday, sys_settimeofday, compat_sys_settimeofday)515__SC_COMP(__NR_settimeofday, sys_settimeofday, compat_sys_settimeofday)
488#define __NR_adjtimex 171516#define __NR_adjtimex 171
489__SC_3264(__NR_adjtimex, sys_adjtimex_time32, sys_adjtimex)517__SC_3264(__NR_adjtimex, sys_adjtimex_time32, sys_adjtimex)
518#endif
490 519
491/* kernel/timer.c */520/* kernel/timer.c */
492#define __NR_getpid 172521#define __NR_getpid 172
@@ -511,11 +540,13 @@ __SC_COMP(__NR_sysinfo, sys_sysinfo, compat_sys_sysinfo) · 18 unmodified lines
511__SC_COMP(__NR_mq_open, sys_mq_open, compat_sys_mq_open)540__SC_COMP(__NR_mq_open, sys_mq_open, compat_sys_mq_open)
512#define __NR_mq_unlink 181541#define __NR_mq_unlink 181
513__SYSCALL(__NR_mq_unlink, sys_mq_unlink)542__SYSCALL(__NR_mq_unlink, sys_mq_unlink)
543#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
514#define __NR_mq_timedsend 182544#define __NR_mq_timedsend 182
515__SC_3264(__NR_mq_timedsend, sys_mq_timedsend_time32, sys_mq_timedsend)545__SC_3264(__NR_mq_timedsend, sys_mq_timedsend_time32, sys_mq_timedsend)
516#define __NR_mq_timedreceive 183546#define __NR_mq_timedreceive 183
517__SC_3264(__NR_mq_timedreceive, sys_mq_timedreceive_time32, \547__SC_3264(__NR_mq_timedreceive, sys_mq_timedreceive_time32, \
518 sys_mq_timedreceive)548 sys_mq_timedreceive)
549#endif
519#define __NR_mq_notify 184550#define __NR_mq_notify 184
520__SC_COMP(__NR_mq_notify, sys_mq_notify, compat_sys_mq_notify)551__SC_COMP(__NR_mq_notify, sys_mq_notify, compat_sys_mq_notify)
521#define __NR_mq_getsetattr 185552#define __NR_mq_getsetattr 185
@@ -536,8 +567,10 @@ __SC_COMP(__NR_msgsnd, sys_msgsnd, compat_sys_msgsnd) · 14 unmodified lines
536__SYSCALL(__NR_semget, sys_semget)567__SYSCALL(__NR_semget, sys_semget)
537#define __NR_semctl 191568#define __NR_semctl 191
538__SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl)569__SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl)
570#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
539#define __NR_semtimedop 192571#define __NR_semtimedop 192
540__SC_COMP(__NR_semtimedop, sys_semtimedop, sys_semtimedop_time32)572__SC_COMP(__NR_semtimedop, sys_semtimedop, sys_semtimedop_time32)
573#endif
541#define __NR_semop 193574#define __NR_semop 193
542__SYSCALL(__NR_semop, sys_semop)575__SYSCALL(__NR_semop, sys_semop)
543 576
@@ -658,8 +691,10 @@ __SC_COMP(__NR_rt_tgsigqueueinfo, sys_rt_tgsigqueueinfo, \ · 114 unmodified lines
658__SYSCALL(__NR_perf_event_open, sys_perf_event_open)691__SYSCALL(__NR_perf_event_open, sys_perf_event_open)
659#define __NR_accept4 242692#define __NR_accept4 242
660__SYSCALL(__NR_accept4, sys_accept4)693__SYSCALL(__NR_accept4, sys_accept4)
694#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
661#define __NR_recvmmsg 243695#define __NR_recvmmsg 243
662__SC_COMP_3264(__NR_recvmmsg, sys_recvmmsg_time32, sys_recvmmsg, compat_sys_recvmmsg_time32)696__SC_COMP_3264(__NR_recvmmsg, sys_recvmmsg_time32, sys_recvmmsg, compat_sys_recvmmsg_time32)
697#endif
663 698
664/*699/*
665 * Architectures may provide up to 16 syscalls of their own700 * Architectures may provide up to 16 syscalls of their own
@@ -667,8 +702,10 @@ __SC_COMP_3264(__NR_recvmmsg, sys_recvmmsg_time32, sys_recvmmsg, compat_sys_recv · 1 unmodified line
667 */702 */
668#define __NR_arch_specific_syscall 244703#define __NR_arch_specific_syscall 244
669 704
705#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
670#define __NR_wait4 260706#define __NR_wait4 260
671__SC_COMP(__NR_wait4, sys_wait4, compat_sys_wait4)707__SC_COMP(__NR_wait4, sys_wait4, compat_sys_wait4)
708#endif
672#define __NR_prlimit64 261709#define __NR_prlimit64 261
673__SYSCALL(__NR_prlimit64, sys_prlimit64)710__SYSCALL(__NR_prlimit64, sys_prlimit64)
674#define __NR_fanotify_init 262711#define __NR_fanotify_init 262
@@ -678,10 +715,11 @@ __SYSCALL(__NR_fanotify_mark, sys_fanotify_mark) · 3 unmodified lines
678#define __NR_name_to_handle_at 264715#define __NR_name_to_handle_at 264
679__SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at)716__SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at)
680#define __NR_open_by_handle_at 265717#define __NR_open_by_handle_at 265
681__SC_COMP(__NR_open_by_handle_at, sys_open_by_handle_at, \718__SYSCALL(__NR_open_by_handle_at, sys_open_by_handle_at)
682 compat_sys_open_by_handle_at)719#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
683#define __NR_clock_adjtime 266720#define __NR_clock_adjtime 266
684__SC_3264(__NR_clock_adjtime, sys_clock_adjtime32, sys_clock_adjtime)721__SC_3264(__NR_clock_adjtime, sys_clock_adjtime32, sys_clock_adjtime)
722#endif
685#define __NR_syncfs 267723#define __NR_syncfs 267
686__SYSCALL(__NR_syncfs, sys_syncfs)724__SYSCALL(__NR_syncfs, sys_syncfs)
687#define __NR_setns 268725#define __NR_setns 268
@@ -734,8 +772,10 @@ __SYSCALL(__NR_pkey_alloc, sys_pkey_alloc) · 46 unmodified lines
734__SYSCALL(__NR_pkey_free, sys_pkey_free)772__SYSCALL(__NR_pkey_free, sys_pkey_free)
735#define __NR_statx 291773#define __NR_statx 291
736__SYSCALL(__NR_statx, sys_statx)774__SYSCALL(__NR_statx, sys_statx)
775#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
737#define __NR_io_pgetevents 292776#define __NR_io_pgetevents 292
738__SC_COMP_3264(__NR_io_pgetevents, sys_io_pgetevents_time32, sys_io_pgetevents, compat_sys_io_pgetevents)777__SC_COMP_3264(__NR_io_pgetevents, sys_io_pgetevents_time32, sys_io_pgetevents, compat_sys_io_pgetevents)
778#endif
739#define __NR_rseq 293779#define __NR_rseq 293
740__SYSCALL(__NR_rseq, sys_rseq)780__SYSCALL(__NR_rseq, sys_rseq)
741#define __NR_kexec_file_load 294781#define __NR_kexec_file_load 294
scripts/checksyscalls.sh+12−3
@@ -30,12 +30,14 @@ cat << EOF · 29 unmodified lines
30#define __IGNORE_readlink /* readlinkat */30#define __IGNORE_readlink /* readlinkat */
31#define __IGNORE_symlink /* symlinkat */31#define __IGNORE_symlink /* symlinkat */
32#define __IGNORE_utimes /* futimesat */32#define __IGNORE_utimes /* futimesat */
33#if BITS_PER_LONG == 64
34#define __IGNORE_stat /* fstatat */33#define __IGNORE_stat /* fstatat */
35#define __IGNORE_lstat /* fstatat */34#define __IGNORE_lstat /* fstatat */
36#else
37#define __IGNORE_stat64 /* fstatat64 */35#define __IGNORE_stat64 /* fstatat64 */
38#define __IGNORE_lstat64 /* fstatat64 */36#define __IGNORE_lstat64 /* fstatat64 */
37
38#ifndef __ARCH_WANT_SET_GET_RLIMIT
39#define __IGNORE_getrlimit /* getrlimit */
40#define __IGNORE_setrlimit /* setrlimit */
39#endif41#endif
40 42
41/* Missing flags argument */43/* Missing flags argument */
@@ -133,11 +135,18 @@ cat << EOF · 91 unmodified lines
133#define __IGNORE_io_pgetevents135#define __IGNORE_io_pgetevents
134#define __IGNORE_recvmmsg136#define __IGNORE_recvmmsg
135#define __IGNORE_mq_timedsend137#define __IGNORE_mq_timedsend
136#define __IGNORE_mq_timedreceiv138#define __IGNORE_mq_timedreceive
137#define __IGNORE_semtimedop139#define __IGNORE_semtimedop
138#define __IGNORE_rt_sigtimedwait140#define __IGNORE_rt_sigtimedwait
139#define __IGNORE_futex141#define __IGNORE_futex
140#define __IGNORE_sched_rr_get_interval142#define __IGNORE_sched_rr_get_interval
143#define __IGNORE_gettimeofday
144#define __IGNORE_settimeofday
145#define __IGNORE_wait4
146#define __IGNORE_adjtimex
147#define __IGNORE_nanosleep
148#define __IGNORE_io_getevents
149#define __IGNORE_recvmmsg
141#endif150#endif
142 151
143/* i386-specific or historical system calls */152/* i386-specific or historical system calls */