From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2049.outbound.protection.outlook.com [40.107.20.49]) by sourceware.org (Postfix) with ESMTPS id 155FD384AB48 for ; Fri, 19 Apr 2024 07:53:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 155FD384AB48 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 155FD384AB48 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.20.49 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1713513200; cv=pass; b=OS1awVF3w6xCXRxFabUxcXfVj0cE+MNkHirRMLd+ne6IdPCceuURyWOQPqRzSCqpuHgDhqTItjBE1y6Qkwfxg6YWYSGu4jbvv4muPS5Gv/60HYVP9AkM4rX1oDtMbtVhttQVdHO50o6Su6a3z+6GvYUsGjG+6t/yNq6VfaJ7JGQ= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1713513200; c=relaxed/simple; bh=Gy2UmzmqZE3oCbee2FG9PfCqHd5HafMmOXEVDqjkqKY=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=VCO8UhBFF/OHzmae0dDNt3cf/IpBcSYJAr4WAz1ChehQm1YkWKCjyl649oykCgcK8WFevE+FVQfEAE7+4oImyj/Km1A2KyA6V9CZLtRISTXnv06EupaDfc9qYqk71spNtDdBQWAnuanQZBqUFxQMkAsEn8nJtezxmb23WYsIz/0= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=heHEFCV2Kx25W43ohDn5zivGTSK4F5J3PlzMBn3bAFMFzIz3Lp/m4ZkkO41udq5DYXX6klFeueSg6Ped+4dLZ3R5HjoDSS0gXkJmCYaEaJXKHwo/Lhrk1EzH5AQQ8gYQI8v3BjH0t8uUWmRTu8yDFkPuQxOXv4eQpEKDuqhrClLXWUEklHTtncrobwU8BJrqFxT5AI7or3Ri1EmDlj+ej+YV6JTPUv59Ayc1DmFbe3y24tCaX475KZhQUfhXEXrgiTlVxj3NQ3SaQc29wlSuwVD9PY6uUvTYda3+0N+t/BwBLk4DmNxZCPrx0znNhNbdX/Cjdj9xmpF24xHjF3Pd1A== ARC-Message-Signature: i=2; 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=oUEm65cogt2q9TY68P8hD3XWVNQ+bEKI3alZsZiyB6I=; b=KRz86Ug3kjcNcceEQwQrTfeSU0f6aCaL9ueYYRA4P/6julKK9Tkesy8yi0WjmpJtL8q/UbHs7460YZpkPEsOMsccEmrnoKyCwFJ5ZAPB5cCqS86ZamBNbNzAtC1+old8AWK7f70jn+8m5CdP4+jViQiU5+TSS55Y+6/b3dnc1Xs69Uvvox7BDGdPy/LWFH6VrbNoqN3zt36vM9FrI9muGnGBlLtj0V2X1p+IKMYJG7Pg/YAHJmmTSwEXnLK8KJ9DQ3Dcz5Svl/PPkRBGNDn4w0oxQGQflnBFhJ75sg85odBIyWUP0LFIMDYzPpRMPsTBfiNAEUdXw3tOiqriG9bylw== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oUEm65cogt2q9TY68P8hD3XWVNQ+bEKI3alZsZiyB6I=; b=daMIY16AniV9iWv4pF0KZFwNHuwyRpjYJZdWfLmdEWA1AQPHbItFAJKiDee4K0FNmcSmfQ/zW5St3i6P1p218nF44S4e8oMtof3OGNVLE3lcE3Fa2wvU4rLNFRUceLQEdNjikQtcGR8gDE+lB4h7WMxdJgHOle4gzz8jpNKr17c= Received: from AM0PR08CA0005.eurprd08.prod.outlook.com (2603:10a6:208:d2::18) by GV2PR08MB8582.eurprd08.prod.outlook.com (2603:10a6:150:b5::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.39; Fri, 19 Apr 2024 07:53:06 +0000 Received: from AMS0EPF000001A3.eurprd05.prod.outlook.com (2603:10a6:208:d2:cafe::7a) by AM0PR08CA0005.outlook.office365.com (2603:10a6:208:d2::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.30 via Frontend Transport; Fri, 19 Apr 2024 07:53:05 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AMS0EPF000001A3.mail.protection.outlook.com (10.167.16.228) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22 via Frontend Transport; Fri, 19 Apr 2024 07:53:05 +0000 Received: ("Tessian outbound f1e9a43166b5:v313"); Fri, 19 Apr 2024 07:53:05 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: dd6cd32803858531 X-CR-MTA-TID: 64aa7808 Received: from 2fd88fcafa59.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 1C4FC863-A65A-4E74-9900-9FC6F1BFE837.1; Fri, 19 Apr 2024 07:52:59 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2fd88fcafa59.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 19 Apr 2024 07:52:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nDIH8sNgM78yl5vZRGdnpOw733Guo6Gyc4cEhH5jphztZ7bKi9PZieLGLe2g7Kn7ss2XIkMuwmFnRyARrPVBjZzWUW8LEkizhrYx0YU+uo9ezFvBahLpPIVc1B0DjrSCSZR1FUpzpY8NqUyU5zAj3I9AnkaBbANXi+IonAu/AB2uAicjyywEsPnNlEEQnpxlw8pymiHXZ9Odr3mwqPuFQDJvK9LzIJg+thaOCEWGZKtXAum8vkSL7AyQtEEkpC4tFP7SCtorkfEO2kjOHs5nEiWOhLQYsedFvLEeNl+icrhl8Ze5UrLJwflxksyR92+RTlsfyujLcAS7E7FLEnvdzw== 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=oUEm65cogt2q9TY68P8hD3XWVNQ+bEKI3alZsZiyB6I=; b=Um1ubvp+BIXH+LscpqSSWrazPzTFLmrKG0TQqiTvxMMhN5E8M6PlWlDRoYHtX4/LtJObShCzXW3A3w31wZjz4QXtWO7n6n4pf9OH/gtj1jbrinTBRs5T8bsYiSl883DKTljxBKLvBsKtICSUC0SkllS/5EmT6lwOWEngIlJU6MetNgV0g6tFJPehBjTt1SQyTQ3HUyyE0xt37SNxPR/9ySH7MOEXx0svIVx7nSi1GXaxL6mpgHZPj8pLpnbp6WSrUC7ijztNVxaPHzlzPHXqQRZrAjXANUe+aVJ9ErMx+sDqBA6y9VkuLXam18JDm4xBOxj1/iRSyez4Ce1jzsThsA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oUEm65cogt2q9TY68P8hD3XWVNQ+bEKI3alZsZiyB6I=; b=daMIY16AniV9iWv4pF0KZFwNHuwyRpjYJZdWfLmdEWA1AQPHbItFAJKiDee4K0FNmcSmfQ/zW5St3i6P1p218nF44S4e8oMtof3OGNVLE3lcE3Fa2wvU4rLNFRUceLQEdNjikQtcGR8gDE+lB4h7WMxdJgHOle4gzz8jpNKr17c= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI1PR08MB3919.eurprd08.prod.outlook.com (2603:10a6:803:c4::31) by GV1PR08MB10792.eurprd08.prod.outlook.com (2603:10a6:150:160::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Fri, 19 Apr 2024 07:52:52 +0000 Received: from VI1PR08MB3919.eurprd08.prod.outlook.com ([fe80::77d4:d040:b19d:6472]) by VI1PR08MB3919.eurprd08.prod.outlook.com ([fe80::77d4:d040:b19d:6472%4]) with mapi id 15.20.7472.037; Fri, 19 Apr 2024 07:52:50 +0000 Message-ID: Date: Fri, 19 Apr 2024 08:52:47 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v6 6/8] gdb: Add qIsAddressTagged packet Content-Language: en-US To: Gustavo Romero , gdb-patches@sourceware.org Cc: thiago.bauermann@linaro.org, eliz@gnu.org, tom@tromey.com References: <20240418201039.236867-1-gustavo.romero@linaro.org> <20240418201039.236867-7-gustavo.romero@linaro.org> From: Luis Machado In-Reply-To: <20240418201039.236867-7-gustavo.romero@linaro.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P123CA0496.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1ab::15) To VI1PR08MB3919.eurprd08.prod.outlook.com (2603:10a6:803:c4::31) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI1PR08MB3919:EE_|GV1PR08MB10792:EE_|AMS0EPF000001A3:EE_|GV2PR08MB8582:EE_ X-MS-Office365-Filtering-Correlation-Id: b648ad73-0c09-4ea1-51ea-08dc6045bf43 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: =?utf-8?B?YVBhZzBqQU1qUnFST051aEMrWnRMME9yd29SRU15czhqcGxBQmtHeHo2aFQw?= =?utf-8?B?Witjeis3ek1GYkhvUVczNTA4eTJISUVuWTkyNFA5aXMvbHpaWk4wWHByTVJH?= =?utf-8?B?U3p5SERld0JGZVlKNzRRdy9OV1RaTGgxTFU0VVFQdFFaZVlsZVR3WE85Zkxj?= =?utf-8?B?TTB1WWtwajBBTncvSm9LTGVEWXlwa21GKzB0V3ZOSnZLbEZSWTdQbXV2aEcw?= =?utf-8?B?OWZGLzVmUzZkZ2VBSHFnK3FrUDJhMXdVOXhBaVlpWTQzanBtWlh2NCswdElz?= =?utf-8?B?THFSc09kSW1hYTZUaUcwVTBYVWNUYTVKRE8wWllhSlArcWRPRVA4UUtNTlRV?= =?utf-8?B?a3c2VlhiVkR6dDNyQ0h6c1ZtVHUzR0w0Z1lKenpNK3RHY0VGUzdscmxrczA2?= =?utf-8?B?N29RaXNEanhSMVRkMWIydko5Q2pNcXd1RXNtWCs2Uyt1Sk12MkJpamgxMUNE?= =?utf-8?B?RlZwcnFtdld4UEV6Q1N3Vm9od0JmUkVxN0pTRUlYNE5QZCtLc0VLU25WUVhI?= =?utf-8?B?ZWxhNnZMS3VRRjkvbkY4TE91NWYybGFpRjAzNGtNd3lFQjN4Sms3dWtEdC9G?= =?utf-8?B?LzljakhqL0FXVThuVHI4N3dXMEhDSzVkUDErS2NPV3NsRHBuUmJiMGNYbktL?= =?utf-8?B?cG1DWHdCR2hNVEhLaGVVNjQ0M3R5TEswUHNuTEVhbkl4RWI5T2l6VGRmcDdP?= =?utf-8?B?S0FMalpDaXBhMHdOS1IxVlFId2ZyUHNscFo4SVNhQXdGT3BCUnZZd3ZhNHpx?= =?utf-8?B?KzFpc3IvTDZabHRXdUIvL1dvczlocERBSTQ3UWNLODRKZXRGckR5SEJEa0RW?= =?utf-8?B?M1FqSFVaSnN1MTh2WFhYQjJ3L3QyNm52WXBGYnV1QWRTU1RUR0w0SjBIejN0?= =?utf-8?B?VjJQdEFJUHdLNWg3VjlhbUl0TXdpcDQ4R25hbUJSRnRLYXVic2FLWERzVm44?= =?utf-8?B?aldtVUtOWTB0Y3ZRNk5EU3Z3QWVGNEkxR0l2aGhld29nM1psNkQ2SHdjaEhm?= =?utf-8?B?bVQ0dCtLZWM3YzlscENES2pmeXpWMU5TOVlLeDlmMDRVdEdmaUR3aHAzV1BG?= =?utf-8?B?a0VvYUFWTGNYNDc2WnRCZHBSNzdKdDh6WWhPSXp1MFhEUXdENCtLMDNROUVD?= =?utf-8?B?ZjhyVWZrazdnbUIxekFsQklVeTl5MHlOS0d4dld6b2UyNy9pdWZwQWcyblNH?= =?utf-8?B?Yks3NmxnSzNEZDFHNG5PalFmd2svdWFyQmRLNXpPQ2Z2MVdUc2pnYzVGc0g5?= =?utf-8?B?REtoVkIwTzdHR05EeTVLZ3hUakticDZwb3ZKRkZVenJMd1lVdXlXNjFuV3RD?= =?utf-8?B?OVVrcHJ1WU41S2lvOFJsOHhXNFBwRE4xbkFpUFU3aUZ1MFBGZ29aT1prNkY0?= =?utf-8?B?TlM5clc4MGlVd3ZkVkE4Z1daaVptaWRBUTFFTU9xRnp2R3VvSVdhVDRUUzJM?= =?utf-8?B?NXZxTkhGWHpOdVZPN0pwQVRJN3BGMW4rLzR0b3FBRW5sY3IzbS9JcEFmZjZK?= =?utf-8?B?VzQ5YnljNy83S3ZjUFpuclJsMFRVYlNRdFVYQUlVMitiRWRGdFQybTZNOWI2?= =?utf-8?B?UHFNNnhpZyt0MHhYS3pJalErTjgxR1gvVnJvWnZ6UW9UV3RNUHc2UVFpa1Ri?= =?utf-8?B?NlYrVHdmRXB2bjRSQURaaDZ3QU5oM1V6RDVLYnl2emxMUWk1RkNPb3RuYzM1?= =?utf-8?B?WFQvS1lRdkJpL3BMZ0VnMzhQME9OZHpRaEk0QzhXaUMvNHRaV1owSTVRPT0=?= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB3919.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB10792 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS0EPF000001A3.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 21942d88-e58b-41ff-2277-08dc6045b5f2 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PL/16y6T/flaAUj7CGCBLPwpidsFS9guPMFPaBKO4sWJqdCUpNNl1N3yoFagTstP+UJiR0PqTSVPOVX5d6iV8DxrmuATwgwpPEtJugy9EBIv083rjZaV3sy1hGk+BY76cVUadFUla5kU2ovkI88Er2sor0o5M3Udn4+BJ2vtcoziD8jOSKuN1wPyFQraBMTV9re9/qOjjXX4OkBJb5VSXbT3zblgRiVhMKswR0RcxRzf89e/7hw8dZEXZ1BS82iQp06opSIvzfRShzVhJS2q9ZlXzLHSK1+Y5TFMDKNzWELBdqL4SvfzaUbs/fAP9JVqqQVqtiMCO0ZYPqzJq9rn7aD3beQJZdRLvsYcUiV5lWRn5MUXTR7952q46Y4S0kdrkVamFcrQ84naGTe0fzwaGky4ViHFiDjBFjky/nWToOo5H2/hE34r3KjUqACppNCU4+J1GMi2KmZALY3Y2OlY6aj/U6nbRPuGhZVqVLn34Dd94CT+a6VIfGLZAuVhWtWqU3iME3AZwINWn3Kykc2aRLmSRYcZ1K+35YBtQoEKpu2EV5unn0WP+8+eSgVnU3GuKRxTQsKxDrcU3g3w+luRaN3+INjtrH6v1c/F9n+DeYkSTsAJxUOPbrsvIZFE9hXnavEMwHDEemYu2Elx7E52ns1HkfVBq6Y3h6rbsnkwtE7TgN18dByA8nhPl5+iFungc8FCE/yBDukiIGmt+Yzp60/kHm4GjnxzaUYbTXG097R9kmeRoW429ZXH3fMZonuD X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(1800799015)(82310400014)(36860700004)(376005);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 07:53:05.7012 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b648ad73-0c09-4ea1-51ea-08dc6045bf43 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001A3.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8582 X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,UNPARSEABLE_RELAY 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/18/24 21:10, Gustavo Romero wrote: > This commit adds a new packet, qIsAddressTagged, allowing GDB remote > targets to use it to query the stub if a given address is tagged. > > Currently, the memory tagging address check is done via a read query, > where the contents of /proc//smaps is read and the flags are > inspected for memory tagging-related flags that indicate the address is > in a memory tagged region. > > This is not ideal, for example, for QEMU stub and other cases, such as > on bare-metal, where there is no notion of an OS file like 'smaps.' > Hence, the introduction of qIsAddressTagged packet allows checking > if an address is tagged in an agnostic way. > > The is_address_tagged target hook in remote.c attempts to use the > qIsAddressTagged packet first for checking if an address is tagged and > if the stub does not support such a packet (reply is empty) it falls > back to using the current mechanism that reads the contents of > /proc//smaps via vFile requests. > > Signed-off-by: Gustavo Romero > --- > gdb/remote.c | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 75 insertions(+) > > diff --git a/gdb/remote.c b/gdb/remote.c > index cd271c4b493..3d034bb1ef8 100644 > --- a/gdb/remote.c > +++ b/gdb/remote.c > @@ -337,6 +337,9 @@ enum { > packets and the tag violation stop replies. */ > PACKET_memory_tagging_feature, > > + /* Support for the qIsAddressTagged packet. */ > + PACKET_qIsAddressTagged, > + > PACKET_MAX > }; > > @@ -15535,6 +15538,50 @@ create_store_memtags_request (gdb::char_vector &packet, CORE_ADDR address, > strcpy (packet.data (), request.c_str ()); > } > > +static void > +create_is_address_tagged_request (gdbarch *gdbarch, gdb::char_vector &packet, > + CORE_ADDR address) > +{ > + int addr_size; > + std::string request; > + > + addr_size = gdbarch_addr_bit (gdbarch) / 8; > + request = string_printf ("qIsAddressTagged:%s", phex_nz (address, addr_size)); > + > + if (packet.size () < request.length () + 1) > + error (_("Contents too big for packet qIsAddressTagged.")); > + > + strcpy (packet.data (), request.c_str ()); > +} > + > +static bool > +check_is_address_tagged_reply (remote_target *remote, gdb::char_vector &packet, > + bool &tagged) > +{ > + gdb_assert (remote != nullptr); > + /* Check reply and disable qIsAddressTagged usage if it's not supported. */ > + packet_result result = remote->m_features.packet_ok (packet, > + PACKET_qIsAddressTagged); > + > + /* Return false on error (Exx), empty reply (packet not supported), or reply > + size doesn't match 2 hex digits. */ > + if ((result.status () != PACKET_OK) || (strlen (packet.data ()) != 2)) > + return false; > + > + gdb_byte reply; > + /* Convert only 2 hex digits, i.e. 1 byte in hex format. */ > + hex2bin (packet.data (), &reply, 1); > + > + if (reply == 0x00 || reply == 0x01) > + { > + tagged = !!reply; > + return true; > + } > + > + /* Invalid reply. */ > + return false; > +} > + > /* Implement the "fetch_memtags" target_ops method. */ > > bool > @@ -15581,6 +15628,31 @@ remote_target::store_memtags (CORE_ADDR address, size_t len, > bool > remote_target::is_address_tagged (gdbarch *gdbarch, CORE_ADDR address) > { > + /* Firstly, attempt to check the address using the qIsAddressTagged > + packet. */ > + if (m_features.packet_support (PACKET_qIsAddressTagged) != PACKET_DISABLE) > + { > + remote_target *remote = get_current_remote_target (); > + struct remote_state *rs = get_remote_state (); > + bool is_addr_tagged; > + > + create_is_address_tagged_request (gdbarch, rs->buf, address); > + > + putpkt (rs->buf); > + getpkt (&rs->buf); > + > + /* If qIsAddressTagged is not supported PACKET_qIsAddressTagged will be > + set to PACKET_DISABLE so no further attempt is made to check addresses > + using this packet and the fallback mechanism below will be used > + instead. Also, if the check fails due to an error (Exx reply) the > + fallback is used too. Otherwise, the qIsAddressTagged query succeeded > + and is_addr_tagged is valid. */ > + if (check_is_address_tagged_reply (remote, rs->buf, is_addr_tagged)) > + return is_addr_tagged; > + } > + > + /* Fallback to arch-specific method of checking whether an address is tagged > + in case check via qIsAddressTagged fails. */ > return gdbarch_tagged_address_p (gdbarch, address); > } > > @@ -16070,6 +16142,9 @@ Show the maximum size of the address (in bits) in a memory packet."), NULL, > add_packet_config_cmd (PACKET_memory_tagging_feature, > "memory-tagging-feature", "memory-tagging-feature", 0); > > + add_packet_config_cmd (PACKET_qIsAddressTagged, > + "qIsAddressTagged", "memory-tagging-address-check", 0); > + > /* Assert that we've registered "set remote foo-packet" commands > for all packet configs. */ > { Thanks, this is OK. Approved-By: Luis Machado Tested-By: Luis Machado