Thread (40 messages) 40 messages, 1 author, 2011-07-28
STALE5480d

[PATCH 30/40] UAPI: Fix x86_64 system call count and generation [ver #3]

From: David Howells <dhowells@redhat.com>
Date: 2011-07-28 15:54:43
Also in: lkml
Subsystem: the rest, x86 architecture (32-bit and 64-bit) · Maintainers: Linus Torvalds, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen

The x86_64 system call count and system call pointer table are generated by
#undef'ing the guard on asm/unistd.h and reincluding it with the __SYSCALL()
macro suitably set.

To achieve this once the header has been split, the UAPI header guard must also
be #undef'd.

Signed-off-by: David Howells <dhowells@redhat.com>
---

 arch/x86/kernel/asm-offsets_64.c |    1 +
 arch/x86/kernel/syscall_64.c     |    2 ++
 2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/arch/x86/kernel/asm-offsets_64.c b/arch/x86/kernel/asm-offsets_64.c
index e72a119..8cad3e3 100644
--- a/arch/x86/kernel/asm-offsets_64.c
+++ b/arch/x86/kernel/asm-offsets_64.c
@@ -3,6 +3,7 @@
 #define __NO_STUBS 1
 #undef __SYSCALL
 #undef _ASM_X86_UNISTD_64_H
+#undef _UAPI_ASM_X86_UNISTD_64_H
 #define __SYSCALL(nr, sym) [nr] = 1,
 static char syscalls[] = {
 #include <asm/unistd.h>
diff --git a/arch/x86/kernel/syscall_64.c b/arch/x86/kernel/syscall_64.c
index de87d60..b659abc 100644
--- a/arch/x86/kernel/syscall_64.c
+++ b/arch/x86/kernel/syscall_64.c
@@ -9,11 +9,13 @@
 
 #define __SYSCALL(nr, sym) extern asmlinkage void sym(void) ;
 #undef _ASM_X86_UNISTD_64_H
+#undef _UAPI_ASM_X86_UNISTD_64_H
 #include <asm/unistd_64.h>
 
 #undef __SYSCALL
 #define __SYSCALL(nr, sym) [nr] = sym,
 #undef _ASM_X86_UNISTD_64_H
+#undef _UAPI_ASM_X86_UNISTD_64_H
 
 typedef void (*sys_call_ptr_t)(void);
 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help