This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug lto/61635] New: LTO partitioner does not handle &&label in statics
- From: "andi-gcc at firstfloor dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 27 Jun 2014 21:26:48 +0000
- Subject: [Bug lto/61635] New: LTO partitioner does not handle &&label in statics
- Auto-submitted: auto-generated
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.