From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from CAN01-YT3-obe.outbound.protection.outlook.com (mail-yt3can01on2040.outbound.protection.outlook.com [40.107.115.40]) by sourceware.org (Postfix) with ESMTPS id 7BB953858D37 for ; Fri, 28 Apr 2023 18:30:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7BB953858D37 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=efficios.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=efficios.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A4Vr6J+/hJTL/D1W5ngz+5IQH3dNMkwKBb4GF559fbJYtQuDaE+H2yNihgmr5Gb2yswKF93NqZKMeC9e6z6KPcVp1YluWp1Zlmx5B65VsI6l/7MxIMw4wlUEyQnWraegonQgd2Nc8Q0agBeF+qTitLuuFbMicF5zzUiSx0K3n3LKxD41TL3w4w4ZSPi5hHmhWZTeXdphwjwEHLlxFOrqk5mkptaRJhkQP4zShT8RMXQ8D20JOuz+F0cX/XVq8/Zj2NAPyp78/bye9yQI4NSobHsGQcOuJcvKGCNPEzwF9Kt+nlX60vuib89+vyKYBy6r/jotciBaDzuVDcTeM9ZQyA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DoUBJDo0Yq0sLWJqOOOvQdGZDJlzxYPj6UzSpLsqzT8=; b=KCw6uyyciR6u/Son7Z2wjV8UFJEhTQOCmMao76AQJK2A+qgctfo/y3K1hJwdBi28LNj1g2+3yQ1qc7sfPrXlbOXT4sitY/40AgwrrrHwtrG3eziN4J/DZ47ofgJqtWFOR29/q+yZsrVV7q140S+yT4+zuUIFLHHKwAkmycxzJXW5slnhIQrMxX37K3B3qjtBTswjisKOzIZVCteVRNuFgDJpZrE7XOP0MNDygAgYhwwhBCw0iMq/bQZCxe0I9bwZdL9O+vc3LPtHUkngHhlD9uasTgjVTx6KEtNH4W1RB0Xv+dct3/xQVeKX7M6/hdOzyNeDQqr2C2GohTQsA7WrEA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=efficios.com; dmarc=pass action=none header.from=efficios.com; dkim=pass header.d=efficios.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DoUBJDo0Yq0sLWJqOOOvQdGZDJlzxYPj6UzSpLsqzT8=; b=VqfbIOGTUFD00J6B+qHrWtaFB0RkxGWy9gH2jVJVx5A9DRx/7BZ0waH73YVeOuKoAF3HG0HuDbHW+8yB3razfpn/uZgeoN3+XSxOJpQKFER6VK+QO6vB8+thkdVR1rtafvlGkWwWOap44yHuj3SaLNFEOoPqHuW1gKG5b/8AhTcfc1EEO5f/XbI4PVY8HWiEOkW3m7FGwRhn4uLx4QHzFF1PicKYgCvYroyMmtkp1E6FtKRSAtH+S1jkzM8wnIXlVBo3EVCmtGWIePhtTwAsHe4jSDOCTPM3zYnTRjrZjWN2uxInzSntfRYvSpywjaZv2JtPuFwG4NdBcg0xY334+w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=efficios.com; Received: from YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:a::23) by YT3PR01MB6115.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:68::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.24; Fri, 28 Apr 2023 18:29:59 +0000 Received: from YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM ([fe80::b7c2:2912:524e:8e80]) by YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM ([fe80::b7c2:2912:524e:8e80%6]) with mapi id 15.20.6340.024; Fri, 28 Apr 2023 18:29:59 +0000 Message-ID: <836d5b0c-451c-f167-d547-dee6d5f336bd@efficios.com> Date: Fri, 28 Apr 2023 14:29:57 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: [PATCH] gdb/record-full: disable range stepping when resuming threads Content-Language: fr To: Keith Seitz , gdb-patches@sourceware.org References: <20230427185407.203300-1-simon.marchi@efficios.com> <2a32a2c2-1fd5-3248-9ec9-36c1edb359f4@redhat.com> From: Simon Marchi In-Reply-To: <2a32a2c2-1fd5-3248-9ec9-36c1edb359f4@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: YQXPR0101CA0068.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:14::45) To YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:a::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: YT1PR01MB2828:EE_|YT3PR01MB6115:EE_ X-MS-Office365-Filtering-Correlation-Id: bd66555f-fe48-41a7-1ce8-08db481692b6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pkv8hx2p5unP6exia8OTrCeU7kWlNsVg8Jp+wHmQLEa2YF/yD6dSgzlU4Qk4XPsRYD9Z4zcNEqqzOamEC0t4e2i6EG+1kKkcRYoNyyUrhgBpzGDPNjoUmuMC5HxIixLoSQC0N8ajWQmqyCZEjk72wZOuVEf6c5hoLI/1rnGcRL9Ovv6e396q4nZGQnK28gfAgjQC9NcjtE0lSoufMBMfmDRZMb+0pCGrD68PirccZcI6Q0UBB/wMYb2tr9OIkheu3htrVaXYxj4/ZiWZxjx23SgnwdMZo0+GTZbETL273MVCzouiWXa9EnaM+fSG+E74fx/ur2piX9682+lpdwNuASvTSBm8rlHmRVSVtbihvPp67bZ9bPhIc9m9lPaecGvFzChoim8yi8zzIiMMqM/4JcfQd04jKn+q83Eiefem/hs4GDERuqzb1ZF4CRtXa4k+O7YT/+JYqw9A7XZSHSp4wDuf62hvLib4sHgfyM/07XWixo3bHIDlCEFj/xQKNO9qwVpan0QT0R1TvHPMxYlUJhWAtvwXDZSakQuFLLJWCs64v4l7Yv6SO+6bSS3nlYgogW4zKn8+g3RJS9SLEZA0HuXjRnCm/oXIdJC8hcTj9n8AH/UD6B7eZYaJEBes3CgQ8vkt3K0wE7QuMy+mc1AcHw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230028)(39830400003)(366004)(136003)(396003)(346002)(376002)(451199021)(84970400001)(31686004)(31696002)(36756003)(2906002)(6486002)(186003)(2616005)(83380400001)(53546011)(6506007)(26005)(6512007)(44832011)(66556008)(66946007)(478600001)(66476007)(316002)(5660300002)(38100700002)(41300700001)(8676002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aVAyUHFIenREb2s4ZGF0WUdZK3g3eWZIKzI1MWM0a2FKZmtvNDlKcmxnMnln?= =?utf-8?B?Z1ZRZmFaNGludFkzRE5lcDRGRHZsY2tweGs5ZTFjTnlMakFkckpJWGl0WlM2?= =?utf-8?B?cVdkVnJxQjVPblFINTd4TzFjeHFSOWxocS94NjEzMTYrdDVWUlZBeExCVjVS?= =?utf-8?B?aGREcjJ3Q1FDYVhpekVFamlUaEd0bjVaZjFydFQ5YUN0a2thcE1ha1NVNGVn?= =?utf-8?B?SzVncUhiYTBNT2xIbU1LZzdRdnRleEs4ZUtEV2FaN1g3RkdRQ0ZmTVFjTHFE?= =?utf-8?B?Qy91U1Bxd25NYUMxRnVtNit5QUxwWmxSckhJL3V0UEx3YWdLdEczdW1pVWR4?= =?utf-8?B?YTUra3lvdVFNVEhCUzRSMUV2L0VvWmg1bTdwaU9kVThURFNWd2M5MVlHNHMw?= =?utf-8?B?dk9MQWx2d2xYNy9DZTA5ZHhVMTcyQ3UrTVcrL29SNGFHTjFwYTljWGlIR3hi?= =?utf-8?B?ME02Z0wrVGRVYmM3eEVJWkFGMkZOMTZuczlwRWlxN0Z5a05wUkN5MU9VMDhz?= =?utf-8?B?M2xYL2t3bDBYc0M2MWU4a0g5NTMyM2dwT0s4Q1QzTGFISXZHZjcybkdiOCsy?= =?utf-8?B?UHQ4Zy9EM1lPV3FQcHpQRWpNR0g0N2lyaGhWbXBEMHlpa0I1VGNrWVZQVnVV?= =?utf-8?B?ZHNMdVNEanoreVVobGQvTDh6Q3pudlN2QWJ1L0pKc002WW5CSHNmejFFdFc1?= =?utf-8?B?NEp5bkFmTXlwNlo1QlZYdUY2SDg4SmoxMVpMeWJ3dmZrbGJGU2hCNThCYWZK?= =?utf-8?B?NFRYWVJ3bFRlTmREVzZodzhSZ3VZOHN5MjZJUzdzdFZzSDRVNjY3QTZ2bkc2?= =?utf-8?B?NEFyVkdSQmt5dnBLMHZER2xmbmkybmV0WGFlNU5VdHVtUk5tUUVveEpjMmJn?= =?utf-8?B?ZnNTRmpPdUE1UnhwTUpDNE4zeGF4RmlPVlFLWTJ6NHJaQUFUSzJQZmN4Q00z?= =?utf-8?B?d0VzTzJpYjhzZzl0ZmR0SGd6RTdRbTBmY0ZTWVpYUnd3Q014YlBlMU92aGE0?= =?utf-8?B?VXJFZzdqSFhLNXNkSmxlUC9pUWV0TURLOWVrTytmMjFhWk1zTCtvM1ErNlVH?= =?utf-8?B?MC9ZbzNybUh3cGF3Tk5jZ2MyUyt4elRtVGp2ZkxwNDlJdFpRa0ZCN0NDdHk1?= =?utf-8?B?QjZsTjgxeUpqdEI4RUpEMW82dVJTTHZnK1N5Z2FMUnZiVGYzSkxQTEdhcW1q?= =?utf-8?B?VFZmZnc0b3UxMHBOeXBPYTZrM3VHc3g3YmpDMFd0YTFiczhEdWtnY2xBbi9n?= =?utf-8?B?MGk3bk9VTkkyMDdDZm5BREdLdWllRktKSGxMeWd5NWs2UlJkNy8yQnp6SU04?= =?utf-8?B?YzAyQzdrZ2ljcG5hRGg4QVZUL2tOcEhkbGtxdHAyUXRyRURlVmxib1c1cWRE?= =?utf-8?B?SkxUQUxoOE9pdXhjWE4vRWxjc2hBR1N1d2QwVFc2NkZTREFJZjh5ZUpNVC92?= =?utf-8?B?cDZIOGlvQ2VocnlUSUxpWUszUG1QUUFUUlZQakdpbzJjT2R6aG8xTzk0d2Ru?= =?utf-8?B?b0NHSFFOcGtCYS9jZG51YlBGUVNpbDg1TXFibzNBdk9WMlFEZ3V6Q1ZyTXdR?= =?utf-8?B?bnJOa0N6cVMreGF6eEZHZ2JtcjYveEtFNkhRaE5uUkVEbW9hV0dOcDJxZzlv?= =?utf-8?B?Yk1EVitZSTdTb1VZQUNtZWJjNTFMZkhKSGFHYzVKQWpKaHN4enNwbm50UldP?= =?utf-8?B?dXJIQUIxOWdNM1huVlBBQWl4bG9wWlVnOGlub2lEV1k0NHg4SkxYUi9xNjZk?= =?utf-8?B?QjVzSW95YUR3cWhUR1FlWlBRSDd5akFnMGxmdGZhUHYzRDBwWjZ1Vi9qTVlL?= =?utf-8?B?SStBZFBjVUVrNUpaNWczcW9jT2tEZGt6cTFXMTgza0xJNmlWaVhvd0dVcVNK?= =?utf-8?B?bnczcUl4ekxkeU1mRnpSem1sQ0dmT0JWRVVjT2RWbzdKTUdDL1g4Z1JtR1BI?= =?utf-8?B?RkcxS1M4Y2pEUXliRmdQR0hPSDRpdXBac0ZxZVE3TFBOdHZSTldYYnpaLyt3?= =?utf-8?B?Mm83UHdZRjhFVjNpalZtcThteTNraGxzZm1vRVlPancrcFZqUDNMWmZQdjdI?= =?utf-8?B?U0JxSTErRStzTHgydVhXQ1RGcEJCYWhCbFVZNWU5aW1LZ0lEczJzbzBGdkEv?= =?utf-8?Q?FnE6OFLFOwb6aKvUEnkacMPmO?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: bd66555f-fe48-41a7-1ce8-08db481692b6 X-MS-Exchange-CrossTenant-AuthSource: YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Apr 2023 18:29:59.2184 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4f278736-4ab6-415c-957e-1f55336bd31e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: UBLFv8CU/s6MmnELr5/tt/LaaLJCOBfCzX7U+PN/5wevOPP7zge/ymyPrdlq5j8ioUgnR7UfUaTVdPsBR1BHlw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YT3PR01MB6115 X-Spam-Status: No, score=-3039.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 4/28/23 13:33, Keith Seitz wrote: > On 4/27/23 11:54, Simon Marchi via Gdb-patches wrote: >> I see these failures, when running with the native-gdbserver of >> native-extended-gdbserver boards: >> >> Running /home/smarchi/src/binutils-gdb/gdb/testsuite/gdb.reverse/finish-reverse-next.exp ... >> FAIL: gdb.reverse/finish-reverse-next.exp: reverse next 1 LEP from function body >> FAIL: gdb.reverse/finish-reverse-next.exp: reverse next 2 at b = 5, from function body >> FAIL: gdb.reverse/finish-reverse-next.exp: reverse next 1 GEP call from function body >> FAIL: gdb.reverse/finish-reverse-next.exp: reverse next 2 at b = 50 from function body >> > > Thank you for the explanation. It was simple enough for me to understand. :-) > >> --- >> gdb/record-full.c | 7 +++++++ >> 1 file changed, 7 insertions(+) >> >> diff --git a/gdb/record-full.c b/gdb/record-full.c >> index 15c5b7d682ed..026c309b674c 100644 >> --- a/gdb/record-full.c >> +++ b/gdb/record-full.c >> @@ -1094,6 +1094,13 @@ record_full_target::resume (ptid_t ptid, int step, enum gdb_signal signal) >> /* Make sure the target beneath reports all signals. */ >> target_pass_signals ({}); >> + /* Disable range-stepping, forcing the process target to report stops for >> + all executed instructions, so we can record them all. */ >> + process_stratum_target *proc_target >> + = current_inferior ()->process_target (); >> + for (thread_info *thread : all_non_exited_threads (proc_target, ptid)) >> + thread->control.may_range_step = 0; >> + >> this->beneath ()->resume (ptid, step, signal); >> } >> } > > This makes sense to me, and I've also regression tested it here and detected no > problems. [You likely have, too, but it's my habit to test (a lot).] Hi Keith, Thanks for taking a look. I'm not 100% sure about the change, but given that: - it makes sense to you - it is isolated in the record-full code - record-full is somewhat on life support - it fixes some annoying failures I'd like to see disappear ... I'll go ahead and push this patch. If someone thinks there is a better way to do it, I'll be happy to revisit the fix. Simon