x86, extable: Remove open-coded exception table entries in arch/x86/kernel/test_rodata.c
authorH. Peter Anvin <hpa@zytor.com>
Fri, 20 Apr 2012 19:19:50 +0000 (12:19 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Fri, 20 Apr 2012 20:51:38 +0000 (13:51 -0700)
Remove open-coded exception table entries in arch/x86/kernel/test_rodata.c,
and replace them with _ASM_EXTABLE() macros; this will allow us to
change the format and type of the exception table entries.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: David Daney <david.daney@cavium.com>
Link: http://lkml.kernel.org/r/CA%2B55aFyijf43qSu3N9nWHEBwaGbb7T2Oq9A=9EyR=Jtyqfq_cQ@mail.gmail.com
arch/x86/kernel/test_rodata.c

index c29e235792afee3d5b0cbc59a54528f3959f111c..b79133abda48d9c025eb1dad8ddf5a0b20ac1090 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/module.h>
 #include <asm/cacheflush.h>
 #include <asm/sections.h>
+#include <asm/asm.h>
 
 int rodata_test(void)
 {
@@ -42,14 +43,7 @@ int rodata_test(void)
                ".section .fixup,\"ax\"\n"
                "2:     jmp 1b\n"
                ".previous\n"
-               ".section __ex_table,\"a\"\n"
-               "       .align 16\n"
-#ifdef CONFIG_X86_32
-               "       .long 0b,2b\n"
-#else
-               "       .quad 0b,2b\n"
-#endif
-               ".previous"
+               _ASM_EXTABLE(0b,2b)
                : [rslt] "=r" (result)
                : [rodata_test] "r" (&rodata_test_data), [zero] "r" (0UL)
        );