https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83375
Bug ID: 83375 Summary: partitioner partitions static arrays with label references Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: andi-gcc at firstfloor dot org CC: marxin at gcc dot gnu.org Target Milestone: --- Created attachment 42842 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42842&action=edit test case I thought there was already a bug for this, but can't find it right now. When &&labels are put into static arrays the LTO partitioner can put the static into a different partition, which causes an assembler error because the code labels are local. This breaks Linux kernel LTO builds. See attached test case. I think ipa-comdats should put the function and the static into the same partition, but for some reason it doesn't work. Attached test case shows the problem with -flto-partition=1to1 -flto -O2