This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PING] [PATCHv2] Make "skip" work on inline frames
- From: Bernd Edlinger <bernd dot edlinger at hotmail dot de>
- To: "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>
- Date: Sat, 26 Oct 2019 08:06:11 +0000
- Subject: [PING] [PATCHv2] Make "skip" work on inline frames
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xN+iAw1O/emw8eTQ3rCSIXivwsSwxip4J/r+hm6QDDk=; b=iUrt7XleM2MplX55cPWZYelszb2os2EZBsedUtk84FnHpuaEpTLLSuJ5SqOYXAKszqjbzglmIvVk9seLXCVxRuj1eKmr+EkocJkahVHjdoeW5JUmakVqONsyLFZjwgd2QkuK5ofvA1Cisjyt2O+xaasvIwW869mQtinKKKKE04thSX+veDxCkuvjdJLDanP/S6rFZi1Vka4gtr46xPiPXEhndp543n534Tpf8rkj+4iRCZMatIs7gtmlegTA7Po+A8IP9nY6T8S7eCl5sw/xIYFoFN6737Qpqwl0letrmmpiNp4mIQvWRhTqxPp1GGXcFYBsnbT8tusF5P5nnVl/dg==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hkiWVdOj5DV034HzrrMuaSL8bDAdb0IXLSdHSXNu6UPd5UiAlo4/XXF6RhJm8lY0PEflYLMOF77tTM12kgJFk1XWDgtOqM6bzaapN5T1Gr52JBCXQ3gueRpPCwMw47lvsocKZsI3QQiLieZnwhW2hJpk50pfghTjA+QD9vTf6jXhuLtnQfFZIfqoAFEcJPko1038oCDm8sCbnqcuo1ucRnnG7CVwnriGZSRD8zIHszTw+OIyvipDcdf1SUJO7xRiR/xSxe/cXlkYIjonM+drkET7WvmfynANpLPFqHRTgH3yTcReAeTzcxlKMxsiEyUIlB/y91qJpdbSnmZ5bCgoDg==
- References: <VI1PR03MB4528B9076FC778EF9C0B8B61E46C0@VI1PR03MB4528.eurprd03.prod.outlook.com> <VI1PR03MB452851603771A9F8A45E74C9E46F0@VI1PR03MB4528.eurprd03.prod.outlook.com> <VI1PR03MB452814244371F04E2848AB68E46E0@VI1PR03MB4528.eurprd03.prod.outlook.com>
Hi,
I wanted to ping for this patch here:
http://sourceware.org/ml/gdb-patches/2019-10/msg00685.html
Thanks
Bernd.
On 10/20/19 8:48 AM, Bernd Edlinger wrote:
> On 10/19/19 6:38 AM, Bernd Edlinger wrote:
>> Hmm,
>>
>> I noticed that the patch does not yet handle
>> the step <count> correctly, the count is decremented
>> although the inline frame is skipped and should not be
>> counted...
>>
>> Thus I will need to change at least this:
>>
>> --- a/gdb/infcmd.c
>> +++ b/gdb/infcmd.c
>> @@ -1122,7 +1122,6 @@ prepare_one_step (struct step_command_fsm *sm)
>> set_running (resume_ptid, 1);
>>
>> step_into_inline_frame (tp);
>> - sm->count--;
>>
>> sal = find_frame_sal (frame);
>> sym = get_frame_function (frame);
>> @@ -1132,13 +1131,17 @@ prepare_one_step (struct step_command_fsm *sm)
>>
>> if (sal.line == 0
>> || !function_name_is_marked_for_skip (fn, sal))
>> - return prepare_one_step (sm);
>> + {
>> + sm->count--;
>> + return prepare_one_step (sm);
>> + }
>> }
>>
>>
>
> Attached is an updated patch that fixes this issue,
> and also adds the following after step_into_inline_frame ():
>
> frame = get_current_frame ();
>
> That I consider safer, since this function calls reinit_frame_cache ().
> It was probably just by chance that this did not seem to cause any
> problems for me.
>
>
> Thanks
> Bernd.
>