[PATCH] Re: Weird... 2.6.9 kills FC2 gcc
From: Jeff Garzik
Date: Mon Oct 18 2004 - 21:24:07 EST
Mark Haverkamp wrote:
On Mon, 2004-10-18 at 18:10, Jeff Garzik wrote:
The following appears in 2.6.9 release kernel, building with stock FC2
gcc on x86, but does not appear in 2.6.9-final:
AS arch/i386/kernel/vsyscall.o
cc1: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugzilla.redhat.com/bugzilla> for instructions.
make[1]: *** [arch/i386/kernel/vsyscall.o] Error 1
make: *** [arch/i386/kernel] Error 2
This is 100% reproducible, at the same location (vsyscall), which is
strange because vsyscall didn't change AFAICS.
I'll build a gcc 3.4.2 without Fedora Core patches and see if the
behavior persists.
But in the meantime, if anybody else knows what line of code causes this
segfault, please speak up :)
As an experiment, I commented out the include of init.h and replaced the
__INITDATA and __FINIT with the .section and .previous. It then
compiled OK.
Yep, the same fix (patch attached) works for me.
Jeff
===== arch/i386/kernel/vsyscall.S 1.1 vs edited =====
--- 1.1/arch/i386/kernel/vsyscall.S 2003-04-22 22:14:57 -04:00
+++ edited/arch/i386/kernel/vsyscall.S 2004-10-18 22:20:32 -04:00
@@ -1,6 +1,5 @@
-#include <linux/init.h>
-__INITDATA
+.section ".init.data","aw"
.globl vsyscall_int80_start, vsyscall_int80_end
vsyscall_int80_start:
@@ -12,4 +11,4 @@
.incbin "arch/i386/kernel/vsyscall-sysenter.so"
vsyscall_sysenter_end:
-__FINIT
+.previous