Skip to content

Commit

Permalink
[PATCH] Fix 'make headers_check' on x86_64
Browse files Browse the repository at this point in the history
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: David Woodhouse <dwmw2@infradead.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
David Woodhouse authored and Linus Torvalds committed Sep 16, 2006
1 parent e5fa6d7 commit 75da736
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 20 deletions.
20 changes: 11 additions & 9 deletions include/asm-x86_64/elf.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down Expand Up @@ -38,19 +36,24 @@ 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.
*/
#define ELF_CLASS ELFCLASS64
#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
Expand Down Expand Up @@ -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()
/*
Expand Down
2 changes: 1 addition & 1 deletion include/asm-x86_64/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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. */

Expand Down
16 changes: 8 additions & 8 deletions include/asm-x86_64/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -744,8 +746,6 @@ __syscall_return(type,__res); \

#else /* __KERNEL_SYSCALLS__ */

#ifdef __KERNEL__

#include <linux/syscalls.h>
#include <asm/ptrace.h>

Expand Down Expand Up @@ -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>
Expand All @@ -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
Expand All @@ -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_ */
3 changes: 1 addition & 2 deletions include/asm-x86_64/vsyscall.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
#ifndef _ASM_X86_64_VSYSCALL_H_
#define _ASM_X86_64_VSYSCALL_H_

#include <linux/seqlock.h>

enum vsyscall_num {
__NR_vgettimeofday,
__NR_vtime,
Expand All @@ -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)))
Expand Down

0 comments on commit 75da736

Please sign in to comment.