From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21410 invoked by alias); 20 Nov 2012 21:07:14 -0000 Received: (qmail 20571 invoked by uid 48); 20 Nov 2012 21:06:47 -0000 From: "markus at trippelsdorf dot de" To: gcc-bugs@gcc.gnu.org Subject: [Bug gcov-profile/55417] [4.8 Regression] AddressSanitizer reports stack-buffer-overflow in profiling code Date: Tue, 20 Nov 2012 21:07:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: gcov-profile X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: markus at trippelsdorf dot de 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-11/txt/msg01968.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55417 --- Comment #1 from Markus Trippelsdorf 2012-11-20 21:06:46 UTC --- Valgrind shows: % /var/tmp/gcc_valgrind/usr/local/bin/g++ -w -fprofile-use -O3 /home/markus/bench.cpp ==522== Conditional jump or move depends on uninitialised value(s) ==522== at 0x9E082B: compute_branch_probabilities(unsigned int, unsigned int) (profile.c:294) ==522== by 0x9E2544: branch_prob() (profile.c:1371) ==522== by 0xAFF5F5: tree_profiling() (tree-profile.c:483) ==522== by 0x9CBD2A: execute_one_pass(opt_pass*) (passes.c:2327) ==522== by 0x9CC789: execute_ipa_pass_list(opt_pass*) (passes.c:2692) ==522== by 0x79429F: compile() (cgraphunit.c:1869) ==522== by 0x794B99: finalize_compilation_unit() (cgraphunit.c:2120) ==522== by 0x5B4A0E: cp_write_global_declarations() (decl2.c:4287) ==522== by 0xA6D5BC: compile_file() (toplev.c:559) ==522== by 0xA6F479: toplev_main(int, char**) (toplev.c:1881) ==522== by 0x4ECD894: (below main) (libc-start.c:258) ==522== %