[PATCH 2.6.37-rc1 x86] Build failure with old binutils.

From: Tetsuo Handa
Date: Fri Nov 05 2010 - 04:58:37 EST


AS arch/x86/kernel/entry_32.o
arch/x86/kernel/entry_32.S: Assembler messages:
arch/x86/kernel/entry_32.S:398: Error: too many positional arguments
make[2]: *** [arch/x86/kernel/entry_32.o] Error 1
make[1]: *** [arch/x86/kernel] Error 2
make: *** [arch/x86] Error 2

It seems that old binutils cannot deal

pushl_cfi (TI_sysenter_return-THREAD_SIZE_asm+8+4*4)(%esp)

line. The pushl_cfi is a macro defined as:

.macro pushl_cfi reg
pushl \reg
CFI_ADJUST_CFA_OFFSET 4
.endm

$ as --version
GNU assembler 2.15

Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
---
arch/x86/kernel/entry_32.S | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

--- linux-2.6.37-rc1.orig/arch/x86/kernel/entry_32.S
+++ linux-2.6.37-rc1/arch/x86/kernel/entry_32.S
@@ -395,7 +395,8 @@ sysenter_past_esp:
* A tiny bit of offset fixup is necessary - 4*4 means the 4 words
* pushed above; +8 corresponds to copy_thread's esp0 setting.
*/
- pushl_cfi (TI_sysenter_return-THREAD_SIZE_asm+8+4*4)(%esp)
+ pushl (TI_sysenter_return-THREAD_SIZE_asm+8+4*4)(%esp)
+ CFI_ADJUST_CFA_OFFSET 4
CFI_REL_OFFSET eip, 0

pushl_cfi %eax
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/