https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62108
Bug ID: 62108 Summary: Resolution of mismatched __attribute__ ((__section__ (""))) changes between 4.9 and 4.10. Product: gcc Version: 4.10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ipa Assignee: unassigned at gcc dot gnu.org Reporter: jgreenhalgh at gcc dot gnu.org In this testcase: void func(void); void __attribute__((__section__("bar"))) func (void) { } There is a mismatch between the section attribute given to the prototype (none, so ".text") and the definition ("bar") of func. Compiling this testcase with a 4.9 and a 4.10 compiler using gcc test.c -c and dumping with objdump -x Gives different results between 4.9.1 (4.9.1 release) and 4.10.0 (20140803 (experimental)): $ objdump -x 4.9.o | grep func 0000000000000000 g F bar 0000000000000006 func $ objdump -x 4.10.o | grep func 0000000000000000 g F .text 0000000000000007 func This trips up an ARM kernel build. We should either error on the mismatch, provide a consistent behaviour, or document the change if this is expected.