From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10878 invoked by alias); 10 May 2012 16:06:53 -0000 Received: (qmail 10869 invoked by uid 22791); 10 May 2012 16:06:52 -0000 X-SWARE-Spam-Status: No, hits=-2.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,HK_NAME_MR_MRS,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; Thu, 10 May 2012 16:06:40 +0000 From: "mrs at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/52571] vectorizer changes alignment of common symbols Date: Thu, 10 May 2012 16:11:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: mrs at gcc dot gnu.org X-Bugzilla-Status: REOPENED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: rguenth 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/msg01107.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52571 --- Comment #14 from mrs at gcc dot gnu.org 2012-05-10 16:06:20 UTC --- I'd disagree with that. I suspect 99% of them are not overridden, just like 99% of C functions are not weak and not overridden either. As for what should be done, doesn't matter, as since the system places no constraint on selection for the linker, there simply is nothing one can depend upon. I agree, selecting the one with the maximal alignment would be nice, but, just be wary this may cause one to try and make use of that property, and this just would turn into a complex form of bug pushing or bug hiding. Uncommoning things I think might well be slightly harder than trivial. A ctor is allowed to dynamically load a shared library, that defines a symbol, maybe, conditional on the environment. But with proper escape analysis, seems like one can figure it all out, just be careful with the edge cases.