From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25452 invoked by alias); 9 May 2012 09:11:10 -0000 Received: (qmail 25436 invoked by uid 22791); 9 May 2012 09:11:06 -0000 X-SWARE-Spam-Status: No, hits=-4.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,KHOP_THREADED X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 09 May 2012 09:10:53 +0000 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug lto/53282] lto and visibility-inlines-hidden makes "wrongly" hidden symbols and in a way that depends on the order of the input compilation units Date: Wed, 09 May 2012 09:15:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: lto X-Bugzilla-Keywords: X-Bugzilla-Severity: blocker X-Bugzilla-Who: rguenth at gcc dot gnu.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-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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 X-SW-Source: 2012-05/txt/msg00964.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53282 --- Comment #5 from Richard Guenther 2012-05-09 09:10:35 UTC --- (In reply to comment #4) > Hi Honza, > I forgot to say that I tried both > -flto-partition=1to1 > and > -flto-partition=none > with the same result > > the point is that the symbols in question refers to a templated function > explicitly defined as > template edm::eventsetup::EventSetupRecordKey > edm::eventsetup::heterocontainer::makeKey<_recordclassname_, > edm::eventsetup::EventSetupRecordKey>() > > in the attached there are three of those: only one is hidden. > In the "real" library there are 307 of those, only 7 are hidden! > SO I suspect some sort of bug in lto > > I will try to produce a synthetic test All hidden symbols are postfixed with something like .local.77.4195, making them no longer the symbols for the explicitely instantiated functions. I suppose you say that the bug is that you have explicitely instantiated some templates which you want to have appear in the library as exported but LTO makes all instances hidden so that no externally visible symbol for that explicitely instantiated template remains?