提交 75da736f 编写于 作者: D David Woodhouse 提交者: Linus Torvalds

[PATCH] Fix 'make headers_check' on x86_64

On Tue, 2006-09-12 at 17:44 +0100, David Woodhouse wrote:
> asm-x86_64/elf.h requires asm/processor.h, which does not exist
> asm-x86_64/signal.h requires linux/linkage.h, which does not exist
> asm-x86_64/unistd.h requires linux/linkage.h, which does not exist
> asm-x86_64/vsyscall.h requires linux/seqlock.h, which does not exist

Again, move stuff which shouldn't be visible inside (mostly already existing)
#ifdef __KERNEL__.

This fixes a bunch of mislabelled and unlabelled #endifs in unistd.h and also
cleans that up to conform with what's visible on other architectures, since
the minimal fix for the error reported about would have involved a more
intrusive patch, renesting other ifdefs.
Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 e5fa6d70
......@@ -7,8 +7,6 @@
#include <asm/ptrace.h>
#include <asm/user.h>
#include <asm/processor.h>
#include <asm/compat.h>
/* x86-64 relocation types */
#define R_X86_64_NONE 0 /* No reloc */
......@@ -38,12 +36,6 @@ typedef elf_greg_t elf_gregset_t[ELF_NGREG];
typedef struct user_i387_struct elf_fpregset_t;
/*
* This is used to ensure we don't load something for the wrong architecture.
*/
#define elf_check_arch(x) \
((x)->e_machine == EM_X86_64)
/*
* These are used to set parameters in the core dumps.
*/
......@@ -51,6 +43,17 @@ typedef struct user_i387_struct elf_fpregset_t;
#define ELF_DATA ELFDATA2LSB
#define ELF_ARCH EM_X86_64
#ifdef __KERNEL__
#include <asm/processor.h>
#include <asm/compat.h>
/*
* This is used to ensure we don't load something for the wrong architecture.
*/
#define elf_check_arch(x) \
((x)->e_machine == EM_X86_64)
/* SVR4/i386 ABI (pages 3-31, 3-32) says that when the program starts %edx
contains a pointer to a function which might be registered using `atexit'.
This provides a mean for the dynamic linker to call DT_FINI functions for
......@@ -141,7 +144,6 @@ typedef struct user_i387_struct elf_fpregset_t;
/* I'm not sure if we can use '-' here */
#define ELF_PLATFORM ("x86_64")
#ifdef __KERNEL__
extern void set_personality_64bit(void);
#define SET_PERSONALITY(ex, ibcs2) set_personality_64bit()
/*
......
......@@ -3,13 +3,13 @@
#ifndef __ASSEMBLY__
#include <linux/types.h>
#include <linux/linkage.h>
#include <linux/time.h>
/* Avoid too many header ordering problems. */
struct siginfo;
#ifdef __KERNEL__
#include <linux/linkage.h>
/* Most things should be clean enough to redefine this at will, if care
is taken to make libc match. */
......
......@@ -620,6 +620,8 @@ __SYSCALL(__NR_vmsplice, sys_vmsplice)
#define __NR_move_pages 279
__SYSCALL(__NR_move_pages, sys_move_pages)
#ifdef __KERNEL__
#define __NR_syscall_max __NR_move_pages
#ifndef __NO_STUBS
......@@ -744,8 +746,6 @@ __syscall_return(type,__res); \
#else /* __KERNEL_SYSCALLS__ */
#ifdef __KERNEL__
#include <linux/syscalls.h>
#include <asm/ptrace.h>
......@@ -821,8 +821,6 @@ asmlinkage long sys_fork(struct pt_regs regs);
asmlinkage long sys_vfork(struct pt_regs regs);
asmlinkage long sys_pipe(int *fildes);
#endif /* __KERNEL_SYSCALLS__ */
#ifndef __ASSEMBLY__
#include <linux/linkage.h>
......@@ -838,9 +836,9 @@ asmlinkage long sys_rt_sigaction(int sig,
struct sigaction __user *oact,
size_t sigsetsize);
#endif
#endif /* __ASSEMBLY__ */
#endif
#endif /* __KERNEL_SYSCALLS__ */
/*
* "Conditional" syscalls
......@@ -850,6 +848,8 @@ asmlinkage long sys_rt_sigaction(int sig,
*/
#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
#endif
#endif /* __NO_STUBS */
#endif
#endif /* __KERNEL__ */
#endif /* _ASM_X86_64_UNISTD_H_ */
#ifndef _ASM_X86_64_VSYSCALL_H_
#define _ASM_X86_64_VSYSCALL_H_
#include <linux/seqlock.h>
enum vsyscall_num {
__NR_vgettimeofday,
__NR_vtime,
......@@ -14,6 +12,7 @@ enum vsyscall_num {
#define VSYSCALL_ADDR(vsyscall_nr) (VSYSCALL_START+VSYSCALL_SIZE*(vsyscall_nr))
#ifdef __KERNEL__
#include <linux/seqlock.h>
#define __section_vxtime __attribute__ ((unused, __section__ (".vxtime"), aligned(16)))
#define __section_wall_jiffies __attribute__ ((unused, __section__ (".wall_jiffies"), aligned(16)))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册