Seems to happen with 3.3,3.4, Short test case courtesy of A.Pinski:
static void __attribute__ ((__section__ (".init.text"))) pci_fixup_i450nx(void) { } static int __attribute__ ((__section__ (".init.text"))) toshiba_ohci1394_dmi_table[] = { }; causes with gcc (without -O2); t.c:4: error: toshiba_ohci1394_dmi_table causes a section type conflict (the longer test case which I attach shows it with optimization too) On the big file the actual function (it has a lot of these) depends on optimization level and compiler version -- Summary: spurious section conflict error while building linux kernel Product: gcc Version: 4.0.2 Status: UNCONFIRMED Severity: major Priority: P2 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ak at muc dot de GCC host triplet: x86_64-linux GCC target triplet: x86_64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24585