Re: [build bug] x86_64, -git: Error: unknown pseudo-op:`.cfi_signal_frame'

From: Jan Beulich
Date: Mon Oct 16 2006 - 02:59:16 EST


>>>> Andrew Morton <akpm@xxxxxxxx> 16.10.06 08:33 >>>
>On Mon, 16 Oct 2006 08:10:37 +0200
>Ingo Molnar <mingo@xxxxxxx> wrote:
>
>>
>> using latest -git i'm getting this build bug on gcc 3.4:
>>
>> arch/x86_64/kernel/entry.S: Assembler messages:
>> arch/x86_64/kernel/entry.S:157: Error: unknown pseudo-op: `.cfi_signal_frame'
>> arch/x86_64/kernel/entry.S:215: Error: unknown pseudo-op: `.cfi_signal_frame'
>> arch/x86_64/kernel/entry.S:333: Error: unknown pseudo-op: `.cfi_signal_frame'
>> arch/x86_64/kernel/entry.S:548: Error: unknown pseudo-op: `.cfi_signal_frame'
>>
>> gcc version 3.4.0 20040129 (Red Hat Linux 3.4.0-0.3)
>>
>> using gcc 4.1 it doesnt happen
>>
>> gcc version 4.1.1 20060525 (Red Hat 4.1.1-1)
>>
>> this is caused by the following commit:
>>
>> commit adf1423698f00d00b267f7dca8231340ce7d65ef
>> Author: Jan Beulich <jbeulich@xxxxxxxxxx>
>> Date: Tue Sep 26 10:52:41 2006 +0200
>>
>> reverting that patch solves the build problem and the resulting kernel
>> builds and boots fine.
>>
>
>That patch has obvious copy-n-paste errors:
>
>i386:
>
> cflags-y += $(call as-instr,.cfi_startproc\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
> AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
>
>+# is .cfi_signal_frame supported too?
>+cflags-y += $(call as-instr,.cfi_startproc\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
>+AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
>
>So that won't work.
>
>x86_64 appears to get it right:
>
> cflags-y += $(call as-instr,.cfi_startproc\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
> AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
>
>+# is .cfi_signal_frame supported too?
>+cflags-y += $(call as-instr,.cfi_startproc\n.cfi_signal_frame\n.cfi_endproc,-DCONFIG_AS_CFI_SIGNAL_FRAME=1,)
>+AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_signal_frame\n.cfi_endproc,-DCONFIG_AS_CFI_SIGNAL_FRAME=1,)
>
>Later,
>
>+#ifdef CONFIG_AS_CFI_SIGNAL_FRAME
>+#define CFI_SIGNAL_FRAME .cfi_signal_frame
>+#else
>+#define CFI_SIGNAL_FRAME
>+#endif
>
>but it's obviously not working. Wanna debug it a bit?

That is nothing I added, I suppose Andi did. But the fix is obvious and trivial.

Jan
-
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/