* [build bug] x86_64, -git: Error: unknown pseudo-op: `.cfi_signal_frame' @ 2006-10-16 6:10 Ingo Molnar 2006-10-16 6:33 ` Andrew Morton 2006-10-16 6:36 ` Nicholas Miell 0 siblings, 2 replies; 8+ messages in thread From: Ingo Molnar @ 2006-10-16 6:10 UTC (permalink / raw) To: Jan Beulich; +Cc: linux-kernel, Andrew Morton, Andi Kleen 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@novell.com> Date: Tue Sep 26 10:52:41 2006 +0200 reverting that patch solves the build problem and the resulting kernel builds and boots fine. Ingo ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [build bug] x86_64, -git: Error: unknown pseudo-op: `.cfi_signal_frame' 2006-10-16 6:10 [build bug] x86_64, -git: Error: unknown pseudo-op: `.cfi_signal_frame' Ingo Molnar @ 2006-10-16 6:33 ` Andrew Morton 2006-10-16 7:00 ` Jan Beulich 2006-10-16 6:36 ` Nicholas Miell 1 sibling, 1 reply; 8+ messages in thread From: Andrew Morton @ 2006-10-16 6:33 UTC (permalink / raw) To: Ingo Molnar; +Cc: Jan Beulich, linux-kernel, Andi Kleen On Mon, 16 Oct 2006 08:10:37 +0200 Ingo Molnar <mingo@elte.hu> 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@novell.com> > 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? ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [build bug] x86_64, -git: Error: unknown pseudo-op: `.cfi_signal_frame' 2006-10-16 6:33 ` Andrew Morton @ 2006-10-16 7:00 ` Jan Beulich 0 siblings, 0 replies; 8+ messages in thread From: Jan Beulich @ 2006-10-16 7:00 UTC (permalink / raw) To: Ingo Molnar, Andrew Morton, AndiKleen; +Cc: linux-kernel >>>> Andrew Morton <akpm@osdl.org> 16.10.06 08:33 >>> >On Mon, 16 Oct 2006 08:10:37 +0200 >Ingo Molnar <mingo@elte.hu> 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@novell.com> >> 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 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [build bug] x86_64, -git: Error: unknown pseudo-op: `.cfi_signal_frame' 2006-10-16 6:10 [build bug] x86_64, -git: Error: unknown pseudo-op: `.cfi_signal_frame' Ingo Molnar 2006-10-16 6:33 ` Andrew Morton @ 2006-10-16 6:36 ` Nicholas Miell 2006-10-16 6:36 ` Ingo Molnar 1 sibling, 1 reply; 8+ messages in thread From: Nicholas Miell @ 2006-10-16 6:36 UTC (permalink / raw) To: Ingo Molnar; +Cc: Jan Beulich, linux-kernel, Andrew Morton, Andi Kleen On Mon, 2006-10-16 at 08:10 +0200, Ingo Molnar 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@novell.com> > Date: Tue Sep 26 10:52:41 2006 +0200 > > reverting that patch solves the build problem and the resulting kernel > builds and boots fine. > > Ingo This is a binutils/gas feature; gcc has nothing to do with it. I take it the gcc 4.1 system is FC5 with binutils 2.16.91.0.6-5 and the gcc 3.4 system is something older? The kernel build system is supposed to detect gas support for .cfi_signal_frame -- and while the i386 test is obviously broken (the i386 test for the directive doesn't actually use the directive), the AMD64 test looks like it should work (assuming as-instr works). -- Nicholas Miell <nmiell@comcast.net> ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [build bug] x86_64, -git: Error: unknown pseudo-op: `.cfi_signal_frame' 2006-10-16 6:36 ` Nicholas Miell @ 2006-10-16 6:36 ` Ingo Molnar 2006-10-16 6:43 ` Ingo Molnar 0 siblings, 1 reply; 8+ messages in thread From: Ingo Molnar @ 2006-10-16 6:36 UTC (permalink / raw) To: Nicholas Miell; +Cc: Jan Beulich, linux-kernel, Andrew Morton, Andi Kleen * Nicholas Miell <nmiell@comcast.net> wrote: > The kernel build system is supposed to detect gas support for > .cfi_signal_frame -- and while the i386 test is obviously broken (the > i386 test for the directive doesn't actually use the directive), the > AMD64 test looks like it should work (assuming as-instr works). the broken one is: GNU assembler 2.14.90.0.8 20040114 the working one is: GNU assembler 2.16.91.0.6 20060212 i guess i found the reason for the breakage: i was using a cross-compiling setup via the following script: make -j165 bzImage ARCH=x86_64 CC='distcc /opt/crosstool/gcc-4.0.2-glibc-2.3.6/x86_64-unknown-linux-gnu/bin/x86_64-unknown-linux-gnu-gcc' Note that i override 'CC' instead of specifying a 'CROSS' prefix. I suspect this means as-instr does not switch over to the cross-environment and thus mis-detected the gas version? Ingo ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [build bug] x86_64, -git: Error: unknown pseudo-op: `.cfi_signal_frame' 2006-10-16 6:36 ` Ingo Molnar @ 2006-10-16 6:43 ` Ingo Molnar 2006-10-16 20:06 ` Sam Ravnborg 2006-10-17 9:37 ` Oleg Verych 0 siblings, 2 replies; 8+ messages in thread From: Ingo Molnar @ 2006-10-16 6:43 UTC (permalink / raw) To: Nicholas Miell; +Cc: Jan Beulich, linux-kernel, Andrew Morton, Andi Kleen * Ingo Molnar <mingo@elte.hu> wrote: > Note that i override 'CC' instead of specifying a 'CROSS' prefix. I > suspect this means as-instr does not switch over to the > cross-environment and thus mis-detected the gas version? this did not solve it either - it seems if both CROSS and CC are set then CC overrides it and CROSS is ignored? Removing the CC override solved the problem. But how do i insert the 'distcc' that way? Seems like a Kbuild breakage to me. Ingo ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [build bug] x86_64, -git: Error: unknown pseudo-op: `.cfi_signal_frame' 2006-10-16 6:43 ` Ingo Molnar @ 2006-10-16 20:06 ` Sam Ravnborg 2006-10-17 9:37 ` Oleg Verych 1 sibling, 0 replies; 8+ messages in thread From: Sam Ravnborg @ 2006-10-16 20:06 UTC (permalink / raw) To: Ingo Molnar Cc: Nicholas Miell, Jan Beulich, linux-kernel, Andrew Morton, Andi Kleen, Sam Ravnborg On Mon, Oct 16, 2006 at 08:43:00AM +0200, Ingo Molnar wrote: > > * Ingo Molnar <mingo@elte.hu> wrote: > > > Note that i override 'CC' instead of specifying a 'CROSS' prefix. I > > suspect this means as-instr does not switch over to the > > cross-environment and thus mis-detected the gas version? > > this did not solve it either - it seems if both CROSS and CC are set > then CC overrides it and CROSS is ignored? Removing the CC override > solved the problem. But how do i insert the 'distcc' that way? Seems > like a Kbuild breakage to me. I will try to take a look when I'm back from vacation. In few hours I'm leaving of for France for 8 days with the family. If someone else beats me why I'm away it would be fine! Sam ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [build bug] x86_64, -git: Error: unknown pseudo-op: `.cfi_signal_frame' 2006-10-16 6:43 ` Ingo Molnar 2006-10-16 20:06 ` Sam Ravnborg @ 2006-10-17 9:37 ` Oleg Verych 1 sibling, 0 replies; 8+ messages in thread From: Oleg Verych @ 2006-10-17 9:37 UTC (permalink / raw) To: linux-kernel Hallo. On 2006-10-16, Ingo Molnar wrote: > > * Ingo Molnar <mingo@elte.hu> wrote: > >> Note that i override 'CC' instead of specifying a 'CROSS' prefix. I >> suspect this means as-instr does not switch over to the >> cross-environment and thus mis-detected the gas version? Do you mean 'CROSS_COMPILE' ? > this did not solve it either - it seems if both CROSS and CC are set > then CC overrides it and CROSS is ignored? Removing the CC override > solved the problem. But how do i insert the 'distcc' that way? Seems > like a Kbuild breakage to me. CC with friends is set like this: +--[linux/Makefile] |[...] |AS = $(CROSS_COMPILE)as |LD = $(CROSS_COMPILE)ld |CC = $(CROSS_COMPILE)gcc |CPP = $(CC) -E |[...] +-- So, i think, you must set 'CROSS_COMPILE' first and then 'CC' like this: (exporing PATH in shell, of course) +-- $ make CROSS_COMPILE=x86_64-pc-linux- 'CC=distcc $(CROSS_COMPILE)gcc' +-- (BTW, it's funny to see arch-*unknown*-linux... Like something is deeply hidden and is a very big secret ;) ____ ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2006-10-17 9:37 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2006-10-16 6:10 [build bug] x86_64, -git: Error: unknown pseudo-op: `.cfi_signal_frame' Ingo Molnar 2006-10-16 6:33 ` Andrew Morton 2006-10-16 7:00 ` Jan Beulich 2006-10-16 6:36 ` Nicholas Miell 2006-10-16 6:36 ` Ingo Molnar 2006-10-16 6:43 ` Ingo Molnar 2006-10-16 20:06 ` Sam Ravnborg 2006-10-17 9:37 ` Oleg Verych
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox