x86: use _ASM_EXTABLE macro in arch/x86/kernel/test_nx.c
authorH. Peter Anvin <hpa@zytor.com>
Mon, 4 Feb 2008 15:47:56 +0000 (16:47 +0100)
committerIngo Molnar <mingo@elte.hu>
Mon, 4 Feb 2008 15:47:56 +0000 (16:47 +0100)
Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding
__ex_table entires in arch/x86/kernel/test_nx.c.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/test_nx.c

index ae0ef2e304c72e60ff218fed26080f5645a7d029..36c100c323aa5d1a01d0fdf2316deeba5c3c37ec 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/module.h>
 #include <linux/sort.h>
 #include <asm/uaccess.h>
+#include <asm/asm.h>
 
 extern int rodata_test_data;
 
@@ -89,16 +90,7 @@ static noinline int test_address(void *address)
                "2:     mov %[zero], %[rslt]\n"
                "       ret\n"
                ".previous\n"
-               ".section __ex_table,\"a\"\n"
-               "       .align 8\n"
-#ifdef CONFIG_X86_32
-               "       .long 0b\n"
-               "       .long 2b\n"
-#else
-               "       .quad 0b\n"
-               "       .quad 2b\n"
-#endif
-               ".previous\n"
+               _ASM_EXTABLE(0b,2b)
                : [rslt] "=r" (result)
                : [fake_code] "r" (address), [zero] "r" (0UL), "0" (result)
        );