mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-08 14:54:23 +08:00
45e29d119e
Currently, it's an int. This is bizarre. Fortunately, the code using it still works: ~__X32_SYSCALL_BIT is also int, so, if nr is unsigned long, then C kindly sign-extends the ~__X32_SYSCALL_BIT part, and it actually results in the desired value. This is far more subtle than it deserves to be. Syscall numbers are, for all practical purposes, unsigned long, so make __X32_SYSCALL_BIT be unsigned long. Signed-off-by: Andy Lutomirski <luto@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lkml.kernel.org/r/99b0d83ad891c67105470a1a6b63243fd63a5061.1562185330.git.luto@kernel.org
19 lines
402 B
C
19 lines
402 B
C
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
#ifndef _UAPI_ASM_X86_UNISTD_H
|
|
#define _UAPI_ASM_X86_UNISTD_H
|
|
|
|
/* x32 syscall flag bit */
|
|
#define __X32_SYSCALL_BIT 0x40000000UL
|
|
|
|
#ifndef __KERNEL__
|
|
# ifdef __i386__
|
|
# include <asm/unistd_32.h>
|
|
# elif defined(__ILP32__)
|
|
# include <asm/unistd_x32.h>
|
|
# else
|
|
# include <asm/unistd_64.h>
|
|
# endif
|
|
#endif
|
|
|
|
#endif /* _UAPI_ASM_X86_UNISTD_H */
|