From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 43624 invoked by alias); 28 Oct 2016 13:36:07 -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 43614 invoked by uid 89); 28 Oct 2016 13:36:07 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.3 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=gdbtesters, gdb-testers, Asked, gdb.dwarf2 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; Fri, 28 Oct 2016 13:35:57 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (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 E034F7A4B1; Fri, 28 Oct 2016 13:35:55 +0000 (UTC) Received: from [127.0.0.1] (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u9SDZsjr013622; Fri, 28 Oct 2016 09:35:55 -0400 Subject: Re: [RFA v2 16/17] Convert dwarf_expr_context_funcs to methods To: Tom Tromey References: <1476393012-29987-1-git-send-email-tom@tromey.com> <1476393012-29987-17-git-send-email-tom@tromey.com> <94f5892b-e4d2-f903-36e2-513e37f3947b@redhat.com> <878ttmid6e.fsf@tromey.com> <87a8dyhetz.fsf@tromey.com> Cc: gdb-patches@sourceware.org From: Pedro Alves Message-ID: Date: Fri, 28 Oct 2016 13:36:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <87a8dyhetz.fsf@tromey.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-SW-Source: 2016-10/txt/msg00796.txt.bz2 On 10/20/2016 10:48 PM, Tom Tromey wrote: > Pedro> Should we remove the parens throughout? > > Tom> I made this change. > > Here's the updated version of this patch. > It also fixes some "CTX" comments. Unfortunately, this caused regressions: https://sourceware.org/ml/gdb-testers/2016-q4/msg01382.html *** Diff to previous build *** ============================ PASS -> FAIL: gdb.arch/amd64-entry-value.exp: entry_reference: bt PASS -> FAIL: gdb.arch/amd64-entry-value.exp: entry_reference: p regparam PASS -> FAIL: gdb.arch/amd64-entry-value.exp: entry_reference: p regparam@entry PASS -> FAIL: gdb.arch/amd64-entry-value.exp: entry_reference: p ®param@entry PASS -> FAIL: gdb.arch/amd64-entry-value.exp: tailcall: bt PASS -> FAIL: gdb.arch/amd64-entry-value.exp: tailcall: p i PASS -> FAIL: gdb.arch/amd64-entry-value.exp: tailcall: p i@entry PASS -> FAIL: gdb.arch/amd64-entry-value.exp: tailcall: p j PASS -> FAIL: gdb.arch/amd64-entry-value.exp: tailcall: p j@entry PASS -> FAIL: gdb.arch/amd64-entry-value.exp: ambiguous: bt PASS -> FAIL: gdb.arch/amd64-entry-value.exp: self: bt PASS -> FAIL: gdb.arch/amd64-tailcall-noret.exp: bt PASS -> FAIL: gdb.dwarf2/dw2-op-call.exp: p arraycallnoloc PASS -> FAIL: gdb.dwarf2/typeddwarf.exp: check value of w at typeddwarf.c:29 PASS -> FAIL: gdb.dwarf2/typeddwarf.exp: check value of x at typeddwarf.c:29 PASS -> FAIL: gdb.dwarf2/typeddwarf.exp: check value of y at typeddwarf.c:29 PASS -> FAIL: gdb.dwarf2/typeddwarf.exp: check value of w at typeddwarf.c:53 PASS -> FAIL: gdb.dwarf2/typeddwarf.exp: check value of x at typeddwarf.c:53 PASS -> FAIL: gdb.dwarf2/typeddwarf.exp: check value of y at typeddwarf.c:53 ============================ I've confirmed that going back to the commit before 192ca6d8eac4 ("Convert dwarf_expr_context_funcs to methods"), the FAILs disappear. Comparing before/after logs, I see: ~~~ -#0 reference (regparam=@0x7fffffffd344: 21, regparam@entry=@0x7fffffffd344: 1, nodataparam=@0x60202c: 22, r3=r3@entry=3, r4=r4@entry=4, r5=r5@entry=5, r6=r6@entry=6, stackparam1=@0x7fffffffd348: 31, stackparam2=@0x7fffffffd34c: 32) at gdb.arch/amd64-entry-value.cc:155 +#0 reference (regparam=@0x7fffffffcf14: 32767, regparam@entry=@0x7fffffffcf54: 1, nodataparam=@0x60202c: 22, r3=r3@entry=3, r4=r4@entry=4, r5=r5@entry=5, r6=r6@entry=6, stackparam1=@0x7fffffffcf58: 31, stackparam2=@0x7fffffffcf5c: 32) at gdb.arch/amd64-entry-value.cc:155 #1 0x00000000004005d0 in main () at gdb.arch/amd64-entry-value.cc:222 -(gdb) PASS: gdb.arch/amd64-entry-value.exp: entry_reference: bt +(gdb) FAIL: gdb.arch/amd64-entry-value.exp: entry_reference: bt -$14 = (int &) @0x7fffffffd344: 21 -(gdb) PASS: gdb.arch/amd64-entry-value.exp: entry_reference: p regparam +$14 = (int &) @0x7fffffffcf14: 32767 +(gdb) FAIL: gdb.arch/amd64-entry-value.exp: entry_reference: p regparam ~~~ "32767" looks a lot like maybe some unitialized field in one of the classes. ~~~ -Breakpoint 2, d (i=71, i@entry=70, j=73.5, j@entry=72.5) at gdb.arch/amd64-entry-value.cc:34 +Breakpoint 2, d (i=, j=) at ~~~ Many instances of that loop error, actually. ~~~ -$26 = 1 -(gdb) PASS: gdb.dwarf2/typeddwarf.exp: check value of w at typeddwarf.c:53 +DW_OP_GNU_const_type has different sizes for type and data +(gdb) FAIL: gdb.dwarf2/typeddwarf.exp: check value of w at typeddwarf.c:53 ~~~ ~~~ p arraycallnoloc -Asked for position 0 of stack, stack only has 0 elements on it. -(gdb) PASS: gdb.dwarf2/dw2-op-call.exp: p arraycallnoloc -testcase /home/pedro/gdb/mygit/cxx-convertion/src/gdb/testsuite/gdb.dwarf2/dw2-op-call.exp completed in 1 seconds +DW_OP_GNU_implicit_pointer is invalid in this context +(gdb) FAIL: gdb.dwarf2/dw2-op-call.exp: p arraycallnoloc +testcase /home/pedro/gdb/mygit/cxx-convertion/src/gdb/testsuite/gdb.dwarf2/dw2-op-call.exp completed in 0 seconds ~~~ Could you take a look? Maybe it'll be obvious to you what the problem is. Thanks, Pedro Alves