From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 65470 invoked by alias); 11 Sep 2016 17:43:54 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 65457 invoked by uid 89); 11 Sep 2016 17:43:53 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.2 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Sergio, declaring X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 11 Sep 2016 17:43:43 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 2263F3B71F for ; Sun, 11 Sep 2016 17:43:42 +0000 (UTC) Received: from localhost (unused-10-15-17-193.yyz.redhat.com [10.15.17.193]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u8BHhfPY027656 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sun, 11 Sep 2016 13:43:41 -0400 From: Sergio Durigan Junior To: Jan Kratochvil Cc: gdb-patches@sourceware.org Subject: Re: [testsuite patch] Fix false FAIL in stap-probe.exp References: <20160911140413.GA557@host1.jankratochvil.net> X-URL: http://blog.sergiodj.net Date: Sun, 11 Sep 2016 17:43:00 -0000 In-Reply-To: <20160911140413.GA557@host1.jankratochvil.net> (Jan Kratochvil's message of "Sun, 11 Sep 2016 16:04:13 +0200") Message-ID: <87inu2miwi.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-IsSubscribed: yes X-SW-Source: 2016-09/txt/msg00084.txt.bz2 On Sunday, September 11 2016, Jan Kratochvil wrote: > Hi, > > gcc-6.2.1-1.fc26.x86_64 > > # Set a breakpoint with multiple probe locations. > gdb_test "break -pstap test:two" \ > "Breakpoint \[0-9\]+ at $hex.*2 locations.*" \ > "set multi-location probe breakpoint (probe two)" > break -pstap test:two^M > Breakpoint 2 at 0x4004e0^M > (gdb) FAIL: gdb.base/stap-probe.exp: without semaphore, optimized: set multi-location probe breakpoint (probe two) > > # Set a breakpoint with multiple probe locations. > # In this scenario, we may expect more than 2 locations because of > # the optimizations (inlining, loop unrolling, etc). > gdb_test "break -pstap test:two" \ > "Breakpoint .* at $hex.*\[0-9\]+ locations.*" \ > "set multi-location probe breakpoint (probe two)" > break -pstap test:two^M > Breakpoint 2 at 0x4004e0^M > (gdb) FAIL: gdb.base/stap-probe.exp: with semaphore, optimized: set multi-location probe breakpoint (probe two) > > OK for check-in? Thanks for the patch. While it does fix the problem, I'd prefer a "compiler-agnostic" patch. The problem is that m1 and m2 (the two functions where probe 'two' is being defined) are exactly the same, so they get optimized by GCC's ICF pass. Since the contents of each function are irrelevant (as long as there's a probe 'two' inside them), I think declaring a dummy variable in one of the functions (probably volatile) would solve the issue. WDYT? > Jan > > gdb/testsuite/ChangeLog > 2016-09-11 Jan Kratochvil > > * gdb.base/stap-probe.exp (stap_test_no_debuginfo): Try to use > -fno-ipa-icf. > > diff --git a/gdb/testsuite/gdb.base/stap-probe.exp b/gdb/testsuite/gdb.base/stap-probe.exp > index df46e80..9258926 100644 > --- a/gdb/testsuite/gdb.base/stap-probe.exp > +++ b/gdb/testsuite/gdb.base/stap-probe.exp > @@ -97,8 +97,11 @@ proc stap_test_no_debuginfo {exec_name {arg ""}} { > global testfile hex > > if {[prepare_for_testing ${testfile}.exp ${exec_name} ${testfile}.c \ > - {$arg nodebug optimize=-O2}]} { > - return -1 > + {$arg nodebug optimize=-O2 "additional_flags=-fno-ipa-icf"}]} { > + if {[prepare_for_testing ${testfile}.exp ${exec_name} ${testfile}.c \ > + {$arg nodebug optimize=-O2}]} { > + return -1 > + } > } > > if {[runto "-pstap test:user"]} { > -- Sergio GPG key ID: 237A 54B1 0287 28BF 00EF 31F4 D0EB 7628 65FC 5E36 Please send encrypted e-mail if possible http://sergiodj.net/