[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