Commit ed5062dd authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'uapi-prep' of git://git.infradead.org/users/dhowells/linux-headers

Pull UAPI disintegration fixes from David Howells:
 "There are three main parts:

 (1) I found I needed some more fixups in the wake of testing Arm64
     (some asm/unistd.h files had weird guards that caused problems -
     mostly in arches for which I don't have a compiler) and some
     __KERNEL__ splitting needed to take place in Arm64.

 (2) I found that c6x was missing some __KERNEL__ guards in its
     asm/signal.h.  Mark Salter pointed me at a tree with a patch to
     remove that file entirely and use the asm-generic variant instead.

 (3) Lastly, m68k turned out to have a header installation problem due
     to it lacking a kvm_para.h file.

     The conditional installation bits for linux/kvm_para.h, linux/kvm.h
     and linux/a.out.h weren't very well specified - and didn't work if
     an arch didn't have the asm/ version of that file, but there *was*
     an asm-generic/ version.

     It seems the "ifneq $((wildcard ...),)" for each of those three
     headers in include/kernel/Kbuild is invoked twice during header
     installation, and the second time it matches on the just installed
     asm-generic/kvm_para.h file and thus incorrectly installs
     linux/kvm_para.h as well.

     Most arches actually have an asm/kvm_para.h, so this wasn't
     detectable in those."

* 'uapi-prep' of git://git.infradead.org/users/dhowells/linux-headers:
  UAPI: Fix conditional header installation handling (notably kvm_para.h on m68k)
  c6x: remove c6x signal.h
  UAPI: Split compound conditionals containing __KERNEL__ in Arm64
  UAPI: Fix the guards on various asm/unistd.h files
  c6x: make dsk6455 the default config
parents 125b79d7 f3dfd599
...@@ -35,7 +35,8 @@ ...@@ -35,7 +35,8 @@
#define COMPAT_HWCAP_IDIVT (1 << 18) #define COMPAT_HWCAP_IDIVT (1 << 18)
#define COMPAT_HWCAP_IDIV (COMPAT_HWCAP_IDIVA|COMPAT_HWCAP_IDIVT) #define COMPAT_HWCAP_IDIV (COMPAT_HWCAP_IDIVA|COMPAT_HWCAP_IDIVT)
#if defined(__KERNEL__) && !defined(__ASSEMBLY__) #ifdef __KERNEL__
#ifndef __ASSEMBLY__
/* /*
* This yields a mask that user programs can use to figure out what * This yields a mask that user programs can use to figure out what
* instruction set this cpu supports. * instruction set this cpu supports.
...@@ -49,5 +50,6 @@ ...@@ -49,5 +50,6 @@
extern unsigned int elf_hwcap; extern unsigned int elf_hwcap;
#endif #endif
#endif
#endif #endif
...@@ -18,7 +18,8 @@ ...@@ -18,7 +18,8 @@
#include <asm-generic/stat.h> #include <asm-generic/stat.h>
#if defined(__KERNEL__) && defined(CONFIG_COMPAT) #ifdef __KERNEL__
#ifdef CONFIG_COMPAT
#include <asm/compat.h> #include <asm/compat.h>
...@@ -57,6 +58,7 @@ struct stat64 { ...@@ -57,6 +58,7 @@ struct stat64 {
compat_u64 st_ino; compat_u64 st_ino;
}; };
#endif
#endif #endif
#endif #endif
...@@ -13,15 +13,13 @@ ...@@ -13,15 +13,13 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#if !defined(__ASM_UNISTD_H) || defined(__SYSCALL)
#define __ASM_UNISTD_H
#ifndef __SYSCALL_COMPAT #ifndef __SYSCALL_COMPAT
#include <asm-generic/unistd.h> #include <asm-generic/unistd.h>
#endif #endif
#if defined(__KERNEL__) && defined(CONFIG_COMPAT) #ifdef __KERNEL__
#ifdef CONFIG_COMPAT
#include <asm/unistd32.h> #include <asm/unistd32.h>
#endif #endif
#endif
#endif /* __ASM_UNISTD_H */
...@@ -16,8 +16,6 @@ ...@@ -16,8 +16,6 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#if !defined(__ASM_UNISTD32_H) || defined(__SYSCALL)
#define __ASM_UNISTD32_H
#ifndef __SYSCALL #ifndef __SYSCALL
#define __SYSCALL(x, y) #define __SYSCALL(x, y)
...@@ -754,5 +752,3 @@ __SYSCALL(__NR_syncfs, sys_syncfs) ...@@ -754,5 +752,3 @@ __SYSCALL(__NR_syncfs, sys_syncfs)
#define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPENDING
#define __ARCH_WANT_SYS_SIGPROCMASK #define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND #define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
#endif /* __ASM_UNISTD32_H */
...@@ -6,6 +6,8 @@ ...@@ -6,6 +6,8 @@
# for more details. # for more details.
# #
KBUILD_DEFCONFIG := dsk6455_defconfig
cflags-y += -mno-dsbt -msdata=none cflags-y += -mno-dsbt -msdata=none
cflags-$(CONFIG_C6X_BIG_KERNEL) += -mlong-calls cflags-$(CONFIG_C6X_BIG_KERNEL) += -mlong-calls
......
...@@ -40,6 +40,7 @@ generic-y += sembuf.h ...@@ -40,6 +40,7 @@ generic-y += sembuf.h
generic-y += shmbuf.h generic-y += shmbuf.h
generic-y += shmparam.h generic-y += shmparam.h
generic-y += siginfo.h generic-y += siginfo.h
generic-y += signal.h
generic-y += socket.h generic-y += socket.h
generic-y += sockios.h generic-y += sockios.h
generic-y += stat.h generic-y += stat.h
......
#ifndef _ASM_C6X_SIGNAL_H
#define _ASM_C6X_SIGNAL_H
#include <asm-generic/signal.h>
#ifndef __ASSEMBLY__
#include <linux/linkage.h>
struct pt_regs;
extern asmlinkage int do_rt_sigreturn(struct pt_regs *regs);
extern asmlinkage void do_notify_resume(struct pt_regs *regs,
u32 thread_info_flags,
int syscall);
#endif
#endif /* _ASM_C6X_SIGNAL_H */
...@@ -13,8 +13,6 @@ ...@@ -13,8 +13,6 @@
* NON INFRINGEMENT. See the GNU General Public License for * NON INFRINGEMENT. See the GNU General Public License for
* more details. * more details.
*/ */
#if !defined(_ASM_C6X_UNISTD_H) || defined(__SYSCALL)
#define _ASM_C6X_UNISTD_H
/* Use the standard ABI for syscalls. */ /* Use the standard ABI for syscalls. */
#include <asm-generic/unistd.h> #include <asm-generic/unistd.h>
...@@ -22,5 +20,3 @@ ...@@ -22,5 +20,3 @@
/* C6X-specific syscalls. */ /* C6X-specific syscalls. */
#define __NR_cache_sync (__NR_arch_specific_syscall + 0) #define __NR_cache_sync (__NR_arch_specific_syscall + 0)
__SYSCALL(__NR_cache_sync, sys_cache_sync) __SYSCALL(__NR_cache_sync, sys_cache_sync)
#endif /* _ASM_C6X_UNISTD_H */
...@@ -18,9 +18,6 @@ ...@@ -18,9 +18,6 @@
* 02110-1301, USA. * 02110-1301, USA.
*/ */
#if !defined(_ASM_HEXAGON_UNISTD_H) || defined(__SYSCALL)
#define _ASM_HEXAGON_UNISTD_H
/* /*
* The kernel pulls this unistd.h in three different ways: * The kernel pulls this unistd.h in three different ways:
* 1. the "normal" way which gets all the __NR defines * 1. the "normal" way which gets all the __NR defines
...@@ -32,5 +29,3 @@ ...@@ -32,5 +29,3 @@
#define sys_mmap2 sys_mmap_pgoff #define sys_mmap2 sys_mmap_pgoff
#include <asm-generic/unistd.h> #include <asm-generic/unistd.h>
#endif
...@@ -16,9 +16,6 @@ ...@@ -16,9 +16,6 @@
* (at your option) any later version. * (at your option) any later version.
*/ */
#if !defined(__ASM_OPENRISC_UNISTD_H) || defined(__SYSCALL)
#define __ASM_OPENRISC_UNISTD_H
#define __ARCH_HAVE_MMU #define __ARCH_HAVE_MMU
#define sys_mmap2 sys_mmap_pgoff #define sys_mmap2 sys_mmap_pgoff
...@@ -27,5 +24,3 @@ ...@@ -27,5 +24,3 @@
#define __NR_or1k_atomic __NR_arch_specific_syscall #define __NR_or1k_atomic __NR_arch_specific_syscall
__SYSCALL(__NR_or1k_atomic, sys_or1k_atomic) __SYSCALL(__NR_or1k_atomic, sys_or1k_atomic)
#endif /* __ASM_OPENRISC_UNISTD_H */
#if !defined(_ASM_SCORE_UNISTD_H) || defined(__SYSCALL)
#define _ASM_SCORE_UNISTD_H
#define __ARCH_HAVE_MMU #define __ARCH_HAVE_MMU
#define __ARCH_WANT_SYSCALL_NO_AT #define __ARCH_WANT_SYSCALL_NO_AT
...@@ -9,5 +6,3 @@ ...@@ -9,5 +6,3 @@
#define __ARCH_WANT_SYSCALL_DEPRECATED #define __ARCH_WANT_SYSCALL_DEPRECATED
#include <asm-generic/unistd.h> #include <asm-generic/unistd.h>
#endif /* _ASM_SCORE_UNISTD_H */
...@@ -12,9 +12,6 @@ ...@@ -12,9 +12,6 @@
* more details. * more details.
*/ */
#if !defined(_ASM_TILE_UNISTD_H) || defined(__SYSCALL)
#define _ASM_TILE_UNISTD_H
#if !defined(__LP64__) || defined(__SYSCALL_COMPAT) #if !defined(__LP64__) || defined(__SYSCALL_COMPAT)
/* Use the flavor of this syscall that matches the 32-bit API better. */ /* Use the flavor of this syscall that matches the 32-bit API better. */
#define __ARCH_WANT_SYNC_FILE_RANGE2 #define __ARCH_WANT_SYNC_FILE_RANGE2
...@@ -43,5 +40,3 @@ __SYSCALL(__NR_cmpxchg_badaddr, sys_cmpxchg_badaddr) ...@@ -43,5 +40,3 @@ __SYSCALL(__NR_cmpxchg_badaddr, sys_cmpxchg_badaddr)
#endif #endif
#define __ARCH_WANT_SYS_NEWFSTATAT #define __ARCH_WANT_SYS_NEWFSTATAT
#endif #endif
#endif /* _ASM_TILE_UNISTD_H */
...@@ -9,10 +9,6 @@ ...@@ -9,10 +9,6 @@
* it under the terms of the GNU General Public License version 2 as * it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation. * published by the Free Software Foundation.
*/ */
#if !defined(__UNICORE_UNISTD_H__) || defined(__SYSCALL)
#define __UNICORE_UNISTD_H__
/* Use the standard ABI for syscalls. */ /* Use the standard ABI for syscalls. */
#include <asm-generic/unistd.h> #include <asm-generic/unistd.h>
#endif /* __UNICORE_UNISTD_H__ */
#if !defined(_ASM_GENERIC_UNISTD_H) || defined(__SYSCALL)
#define _ASM_GENERIC_UNISTD_H
#include <asm/bitsperlong.h> #include <asm/bitsperlong.h>
/* /*
...@@ -930,4 +927,3 @@ __SYSCALL(__NR_fork, sys_ni_syscall) ...@@ -930,4 +927,3 @@ __SYSCALL(__NR_fork, sys_ni_syscall)
#endif #endif
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
#endif /* _ASM_GENERIC_UNISTD_H */
...@@ -21,18 +21,15 @@ header-y += usb/ ...@@ -21,18 +21,15 @@ header-y += usb/
header-y += wimax/ header-y += wimax/
ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/a.out.h \ ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/a.out.h \
$(srctree)/include/asm-$(SRCARCH)/a.out.h \ $(srctree)/arch/$(SRCARCH)/include/uapi/asm/a.out.h),)
$(INSTALL_HDR_PATH)/include/asm-*/a.out.h),)
header-y += a.out.h header-y += a.out.h
endif endif
ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm.h \ ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm.h \
$(srctree)/include/asm-$(SRCARCH)/kvm.h \ $(srctree)/arch/$(SRCARCH)/include/uapi/asm/kvm.h),)
$(INSTALL_HDR_PATH)/include/asm-*/kvm.h),)
header-y += kvm.h header-y += kvm.h
endif endif
ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm_para.h \ ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm_para.h \
$(srctree)/include/asm-$(SRCARCH)/kvm_para.h \ $(srctree)/arch/$(SRCARCH)/include/uapi/asm/kvm_para.h),)
$(INSTALL_HDR_PATH)/include/asm-*/kvm_para.h),)
header-y += kvm_para.h header-y += kvm_para.h
endif endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment