From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15649 invoked by alias); 20 Jan 2012 04:46:50 -0000 Received: (qmail 15641 invoked by uid 22791); 20 Jan 2012 04:46:48 -0000 X-SWARE-Spam-Status: No, hits=-2.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 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; Fri, 20 Jan 2012 04:46:36 +0000 From: "nephatrine at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/51910] [4.7 Regression] -frepo linking failure Date: Fri, 20 Jan 2012 06:23:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: nephatrine at gmail dot com 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-01/txt/msg02262.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51910 --- Comment #4 from Daniel Wolf 2012-01-20 04:46:33 UTC --- (In reply to comment #3) > That is the point of COMDAT so that duplicated function instantiations are not > done. They definitely are or the executable wouldn't be larger without -frepo, right? > > Removing -frepo seems to bloat my executable. > Have you tried using -Wl,--gc-sections ? Enabling that flag does make the code smaller, but the combination of -frepo and --gc-sections is smaller still, with the savings exactly equal to the sum of the savings of using each flag individually. The flags seem completely orthogonal in their function. This all is getting pretty tangential to the reported bug, though. Is there a better place to continue this particular discussion? For now I can just leave out the flag and get the project to compile, albeit larger, but it's not an ideal long-term solution. Of course, whether or not an alternative exists doesn't invalidate the bug at hand. What's the point making -frepo available if it does not work?