From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32130 invoked by alias); 27 Jun 2014 21:26:53 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 32101 invoked by uid 48); 27 Jun 2014 21:26:49 -0000 From: "andi-gcc at firstfloor dot org" To: gcc-bugs@gcc.gnu.org Subject: [Bug lto/61635] New: LTO partitioner does not handle &&label in statics Date: Fri, 27 Jun 2014 21:26:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: lto X-Bugzilla-Version: 4.8.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: andi-gcc at firstfloor dot org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-06/txt/msg02255.txt.bz2 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.