x86: fix arch/x86/kernel/test_nx.c modular build bug
authorIngo Molnar <mingo@elte.hu>
Wed, 30 Jan 2008 22:27:58 +0000 (23:27 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 30 Jan 2008 22:27:58 +0000 (23:27 +0100)
fix this modular build bug:

>   CC [M]  arch/x86/kernel/test_nx.o
> {standard input}: Assembler messages:
> {standard input}:58: Error: cannot represent relocation type BFD_RELOC_64
> {standard input}:59: Error: cannot represent relocation type BFD_RELOC_64
> make[2]: *** [arch/x86/kernel/test_nx.o] Error 1
> make[1]: *** [arch/x86/kernel] Error 2

Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/test_nx.c

index 6d7ef11e79757610caac0814e1a683c9558f4bd6..ae0ef2e304c72e60ff218fed26080f5645a7d029 100644 (file)
@@ -91,8 +91,13 @@ static noinline int test_address(void *address)
                ".previous\n"
                ".section __ex_table,\"a\"\n"
                "       .align 8\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"
                "       .quad 0b\n"
                "       .quad 2b\n"
+#endif
                ".previous\n"
                : [rslt] "=r" (result)
                : [fake_code] "r" (address), [zero] "r" (0UL), "0" (result)
                ".previous\n"
                : [rslt] "=r" (result)
                : [fake_code] "r" (address), [zero] "r" (0UL), "0" (result)