From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 104795 invoked by alias); 27 Mar 2018 22:03:29 -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 104785 invoked by uid 89); 27 Mar 2018 22:03:28 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,KAM_SHORT,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy= X-HELO: aserp2130.oracle.com Received: from aserp2130.oracle.com (HELO aserp2130.oracle.com) (141.146.126.79) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 27 Mar 2018 22:03:27 +0000 Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w2RLnHnA174379; Tue, 27 Mar 2018 22:03:18 GMT Received: from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71]) by aserp2130.oracle.com with ESMTP id 2gyx7681h2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 27 Mar 2018 22:03:18 +0000 Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userv0021.oracle.com (8.14.4/8.14.4) with ESMTP id w2RM3Hkh000648 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 27 Mar 2018 22:03:17 GMT Received: from abhmp0008.oracle.com (abhmp0008.oracle.com [141.146.116.14]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id w2RM3HZs008618; Tue, 27 Mar 2018 22:03:17 GMT Received: from [10.132.97.56] (/10.132.97.56) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 27 Mar 2018 15:03:16 -0700 Subject: Re: [PATCH 4 PR gdb/16959] gdb hangs in infinite recursion To: Simon Marchi Cc: gdb-patches@sourceware.org References: <1522101276-114428-1-git-send-email-weimin.pan@oracle.com> From: Weimin Pan Message-ID: <366467e7-2473-9e33-90e1-2e20215acb5d@oracle.com> Date: Tue, 27 Mar 2018 22:03:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8845 signatures=668695 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1803270212 X-SW-Source: 2018-03/txt/msg00578.txt.bz2 On 3/27/2018 1:48 PM, Simon Marchi wrote: > On 2018-03-27 15:53, Weimin Pan wrote: >> On 3/26/2018 8:28 PM, Simon Marchi wrote: >>> On 2018-03-26 17:54, Weimin Pan wrote: >>>> @@ -658,15 +659,14 @@ cp_print_static_field (struct type *type, >>>>        addr = value_address (val); >>>>        obstack_grow (&dont_print_statmem_obstack, (char *) &addr, >>>>              sizeof (CORE_ADDR)); >>>> -      type = check_typedef (type); >>>> -      cp_print_value_fields (type, value_enclosing_type (val), >>>> +      cp_print_value_fields (real_type, value_enclosing_type (val), >>> >>> As discussed previously, here we should pass the original type. >> >> Hi Simon, >> >> OK, just made the change to pass the original type to >> cp_print_value_fields() >> which in turn calls check_typedef() to get the real type. >> >>> >>> Btw, if you now have push access to the git repo, you should add >>> yourself in the "Write After Approval" section of the >>> gdb/MAINTAINERS file.  This will help you make sure everything is >>> set up correctly.  Don't forget to include a ChangeLog entry for it >>> and post the patch on the mailing list afterwards (mentioning that >>> you have pushed it), you can inspire yourself from how people have >>> done it in the past. >> >> Is there any document or instructions that I can access to understand >> the whole process better? > > I am not sure there is such a document, but there isn't that much to > the process.  We should probably have a little something on the wiki > though, if there isn't already. > > To setup your git repo, see here, in the section "Read-write git": > > https://www.gnu.org/software/gdb/current/ > > The important part is using the ssh:// address.  After that, it's like > any other git repo.  It will use the public key you provided while > registering for your account.  In my local repo, I added it as a > different remote with a special name (other than origin) to help > prevent pushing things accidentally.  So, for example: > > $ git remote add upstream ssh://sourceware.org/git/binutils-gdb.git > > You can then check that your access work by doing > > $ git fetch upstream > > Then: > > 1. While on the master branch, make sure you only have the patch (or > patches) you intend to push applied on top of upstream/master. > 2. Make sure you inserted the ChangeLog entries in the actual > ChangeLog files and amended your commit > 3. Push with "git push upstream master:master" > 4. Notify the mailing list that you have pushed the patch. > > For the patch adding yourself as a write-after-approval maintainer, > you can see how Pedro did it recently: > > The commit: > https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=7eb2418fa4641c60f6713986de7d3a50fd7a22c0 > The mailing list message: > https://sourceware.org/ml/gdb-patches/2018-03/msg00391.html Hi Simon, Thanks very much for the detailed information. I will try to go through the process with either this patch or the small task of getting rid of the lookup_minimal_symbol_and_objfile calls. Weimin > > Simon