https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61635
Bug ID: 61635 Summary: LTO partitioner does not handle &&label in statics Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: andi-gcc at firstfloor dot org I currently don't have a small compilable test case, except a build tree from a large project. But what happened was code like this f() { static void *addr[] = { &&label1, &&label2, .. }; /* labels defined in the code */ } The LTO partitioner would put addr into a different ltrans unit than f. But the assembler output of addr contains direct references to the code labels in the assembler of f. This results in lots of assembler errors for undefined labels.