From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28991 invoked by alias); 12 Dec 2014 22:50:34 -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 28936 invoked by uid 48); 12 Dec 2014 22:50:31 -0000 From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug bootstrap/63888] [5 Regression] bootstrap failed when configured with -with-build-config=bootstrap-asan --disable-werror Date: Fri, 12 Dec 2014 22:50:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: bootstrap X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 5.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: 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-12/txt/msg01516.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63888 --- Comment #17 from Jakub Jelinek --- (In reply to Kostya Serebryany from comment #16) > Frankly, I realize that I don't understand the subtleties of this problem. > :( > > First, if this is C++ we clearly have a bug (ODR violation) and we are done. So it is an ODR violation in C++, but you won't report it (remember, the binary is not instrumented), just it will misbehave (can mark valid memory of other vars in the binary as poisoned, e.g.). > Then, if this is C w/o any extra flags we will not instrument these globals. Not true, the vars are initialized, thus are not common. Or the var in the binary could be common, and the var in the shared library not, etc. And I've actually verified both clang and gcc instrument it. Registering something assuming padding has been added (and aligned) when you don't have a control on it is just wrong, and the local alias is an very easy way to avoid it.