From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id ancjMTE6e2lFZRsAWB0awg (envelope-from ) for ; Thu, 29 Jan 2026 05:45:05 -0500 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=eDWqV0s3; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=eDWqV0s3; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id B6D0A1E0DD; Thu, 29 Jan 2026 05:45:05 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 73BDA1E08D for ; Thu, 29 Jan 2026 05:45:04 -0500 (EST) Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id DC57F4BAE7FC for ; Thu, 29 Jan 2026 10:45:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DC57F4BAE7FC Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=eDWqV0s3; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=eDWqV0s3 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazlp170120005.outbound.protection.outlook.com [IPv6:2a01:111:f403:c200::5]) by sourceware.org (Postfix) with ESMTPS id F24974BAE7EA for ; Thu, 29 Jan 2026 10:44:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F24974BAE7EA 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 F24974BAE7EA Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c200::5 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1769683441; cv=pass; b=pwF4fUgD6YqbkUorfAgjECq2MnH8wfRmZKyw634aP87B6TQ2g8I7jdYzdyQJrzWsMyNoC7ct9dIAoBurw0GtCnEc3qLVRWKKTl1Kc+IxJ+KbDUJekfzJ7yPt4ylUgMIsliz4dcDdiINwt0EWOxt+AAeE0d5uH9UH59Dfw1AcrSY= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1769683441; c=relaxed/simple; bh=G1D0ERy0Yf88lxF6mKYwExGwqgnZ4YwsRjQRxKBVlHc=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=sxuXyozAYdWcDHNAYI1N74sK6hjHeZfRlBU0OpeW2XPsMyJjZLK6gHDqLKzWFBZgnqkpn+h8cFp4C6jXQoDrYIKRl2vEJ2qnH9JZB7ABpoLl+/BThmjeZ7up01G7H4X8/YwEftKgfVa6wUTHTjFwxt0ik8eqkMc0Oy74s60gVnQ= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F24974BAE7EA ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=fefnj10ar7trLl8PmsPqrzkpm3ipnAWnwPNxvn5YXRNMO49U4I935l5RO2TvbcAgeqs2XYKOazOuCpqSrI01mRWvA7/sX56n4WCfJdrsGvZe1d1jaRS7Muy7AIFYEErpMh0v+THDrRNMRW1iPr7svPBbi+wBPek3Bx5ZHki9ZM/FIU3oiEKpE8gGg6Liyds7Jb68zlH6BMVG7G2YGvMIQvtX/Du+YMoqC7uvNrKipbe/jwveTYpOpysLrjiGyxyzUmSUAPnFjFalptkn9Hn+hFTgsC4TpznKlMn8uXPrUFLI4y1NtlR4jtOTxgjiZ9q9lMskpUCfMmpNDUcSl2IUjA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=9TZHb6K9LUauoZwxO45ObHhHmQo/Mc2nAAMLxBaF2HE=; b=HQo19VzPk8yvGLpzz9RjoYqzbRq2Dz0Z06lVcs/EMCLScmKYiJtwOHnPSHbMASsfyw9LpAmBie9IdDitcq4WH9CBMPjyWGWquJtXG3QyGnC6OF9p3pzXZrHA3LE24kP4Shs+MR8bZHtMfb21kMLVKpTOn9vOteBohCaY9jUrrYA+ettVL1XigQOPx8Y6uEMHtYfrFjGJTLphPPcFbuWE59C8cZ5VhlbzZ1i9HR7RVLWRNlhpKTQGiB8N3lopx2tedb+0sbWjFEsAHwnYJaNCnAfAoWCBN4PVmvoFQGdd/he1dy66v6doWP+QpXmRC2NFiD6jvKAYr1/bMvK0Y0vptw== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=tromey.com 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=arm.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=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9TZHb6K9LUauoZwxO45ObHhHmQo/Mc2nAAMLxBaF2HE=; b=eDWqV0s3T/BckoJmw/kt30W8r99j8DLSFqHYPsaJwlmsj7JqQccKYci5x4s0n2c2UPrEAVD6TphWFixGtvf7fvvnI3jPasM5BV+HkpV//EsJEr0suig4kXf7Lh7RkqgaWAYaXUpXSKqgOg9Hj2d67RnFNoGM0P22tireTFdcR7w= Received: from DU7P250CA0028.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:54f::33) by AS8PR08MB6567.eurprd08.prod.outlook.com (2603:10a6:20b:318::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.10; Thu, 29 Jan 2026 10:43:56 +0000 Received: from DU6PEPF00009526.eurprd02.prod.outlook.com (2603:10a6:10:54f:cafe::d3) by DU7P250CA0028.outlook.office365.com (2603:10a6:10:54f::33) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9564.8 via Frontend Transport; Thu, 29 Jan 2026 10:43:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 4.158.2.129 as permitted sender) receiver=protection.outlook.com; client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by DU6PEPF00009526.mail.protection.outlook.com (10.167.8.7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9564.3 via Frontend Transport; Thu, 29 Jan 2026 10:43:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D92eip5wZsEYOTSfFfzRvW+BtgOg9Y8areDFc+bsnGRr5TA1Ps8+rylWDJdcn+vQ7jdzMXhN3+jFQyMhnCZJtTuOzmOzZTltcbBqqwYeYmHoT2oswl+FE/xP5bP7ZuNUfLsKMmmQ96FX8z7jbMxQj5DkY3/BCwJklyLoDHE11RWjSNiyRMTPbe3yi3owMPJbxWDgMtXSvAJpO86SlAJ0dyLriAFBTnTfWTVhvv/a7xilLu6YcyUN3R5VQGp9PNsEGr+/S0dfCe0UB2qVtTHQjxKf90FTPEMP7QSa5LKaHJBsBXYKTxjDg2NmQUOq6TWDGlvpAveo6jiSnMYT7rhvfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=9TZHb6K9LUauoZwxO45ObHhHmQo/Mc2nAAMLxBaF2HE=; b=CSlRlju/aGAF2BT1dMsTAUKfw1ycvSZ5A/JcB6CT28pKfNXwUVrkQsAozuhupVPLbBPTVAbnRApDLDnAQdSjkRoHlDTd+Dbd6gqxxXVx2P8ReuYxqC8baau+IfNVq7xYZVz8TBEM2wY5EbdUMhSX6aDjzaFRs79ZeZeaEuIi9QSXAa3LJHozZUqjgQpCYtlbaY3kSCQHCTXN4zKBjJ36LloQDIcfjP43eop9Vn53HmbWdde80vGylT33sUub79Z1r9WVC770TYxZilIqnV4ijW6n0Po2CNLGD+fP8MuhQ9qA1esli8d//XBAn03FRXeCwXiApZ5e8gY0Z3vbUBGbjQ== 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=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9TZHb6K9LUauoZwxO45ObHhHmQo/Mc2nAAMLxBaF2HE=; b=eDWqV0s3T/BckoJmw/kt30W8r99j8DLSFqHYPsaJwlmsj7JqQccKYci5x4s0n2c2UPrEAVD6TphWFixGtvf7fvvnI3jPasM5BV+HkpV//EsJEr0suig4kXf7Lh7RkqgaWAYaXUpXSKqgOg9Hj2d67RnFNoGM0P22tireTFdcR7w= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from DB3PR08MB9010.eurprd08.prod.outlook.com (2603:10a6:10:42b::8) by DB9PR08MB6620.eurprd08.prod.outlook.com (2603:10a6:10:256::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.15; Thu, 29 Jan 2026 10:42:54 +0000 Received: from DB3PR08MB9010.eurprd08.prod.outlook.com ([fe80::f37c:c9c2:6d9a:9543]) by DB3PR08MB9010.eurprd08.prod.outlook.com ([fe80::f37c:c9c2:6d9a:9543%5]) with mapi id 15.20.9542.015; Thu, 29 Jan 2026 10:42:53 +0000 Message-ID: <2fa36bd8-5d84-4432-a6c7-77837f5dc850@arm.com> Date: Thu, 29 Jan 2026 10:42:52 +0000 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 4/6] gdb: new setters and getters for __dict__, and attributes To: Tom Tromey Cc: gdb-patches@sourceware.org References: <20260128120239.1959325-1-matthieu.longo@arm.com> <87qzr98vo4.fsf@tromey.com> Content-Language: en-US From: Matthieu Longo In-Reply-To: <87qzr98vo4.fsf@tromey.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO6P265CA0005.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:339::13) To DB3PR08MB9010.eurprd08.prod.outlook.com (2603:10a6:10:42b::8) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB3PR08MB9010:EE_|DB9PR08MB6620:EE_|DU6PEPF00009526:EE_|AS8PR08MB6567:EE_ X-MS-Office365-Filtering-Correlation-Id: 99ae4a72-8f78-4f76-62fb-08de5f234db2 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info-Original: =?utf-8?B?b2pUTHRPRmNLYzV4NEZRdmxmRWlvSW13a2djbi91ckZwR2dPaEQxM0JQV0RX?= =?utf-8?B?RnNtZWtSS2d2a3FGaWZad2JPTjZ3bEpDZjBuVkd6VmJDZy9PMlR1RjV2c05l?= =?utf-8?B?amFvZlBtYjFEQzZDbVVtbTRvUzc0SzVtNlhYNUJFaGViS0dBbzZGS0pjRUpC?= =?utf-8?B?aDRwVDZuMWVZeWsyS3RYQUJZTFEreVc2cHhuRUJzVjFnbFY4VkV6YXo0QUt0?= =?utf-8?B?UlpKRU9sWjNNVnJUZmJpZ1lSdzRMZ2Z0QUhRT1d6RXRSMFZSL2ZqSzlqYlM5?= =?utf-8?B?NzRIendRdGJKbWJoWFhKU0p0YURQNEdhTlVOOUw1S3ZoR2I0T0xyS3hWYmNV?= =?utf-8?B?Y29IbkZBQ2RwbUJHcXhlUjRsRjRBL3dRdFVwdTVIUG1hVUhXSDk4TDJxQVZa?= =?utf-8?B?VU5yUXRhZzJ0UDVIdkgzTnY2b3p0RHZtNW1kQXRQZ2FNd0o2ZmUvVVhvWVJ0?= =?utf-8?B?VWVTbDF4NlVQdjMwbUJ5Z0E0Z1RZbzJvVStBNEhpSWlJaXgwbXYwUlV1MWVW?= =?utf-8?B?VnBpa3FmZE9Fd1ZMYkdqc0pDeE0xNVNsbTgwNUE1eTcxTmF1a296azV4R2lw?= =?utf-8?B?c0d0WXc0VXFWdTVaMlRnTTg5eGJXUmcvMDNudjBZcGxxZ054SEZVeDI2TDdw?= =?utf-8?B?QlZkdCs4cDQ2NE9scTlvZXRzbzE1ZDAyODhINUlhUEtDOUtpcnBuM0s0QTlF?= =?utf-8?B?Z0xja0FVZDlGUFRKZVE3Uzl0V3FXNG8zN2FNR0RVT25Rd3FKc2c4NlJTbGp6?= =?utf-8?B?RHRBUDZXQTFzajMyd05IcGRrY3JuSWFkMlRzWjZkTkltdm1lbWhvbjB2WTVO?= =?utf-8?B?eFFwN2JqeWYrcVpMMk9qNU52alo3amlPNFNKaEg5RHBCNmFYWTZ3ekFKeEs5?= =?utf-8?B?ZWlNVTJ1VXB3cEJncHBWMGJNQ2J5WU1pcmJhNGhSTDBsaHFaMy80WG5sSmo3?= =?utf-8?B?dUcrRmdSK2RDVTF4ZTlGMVdkS1pVSUU5MDd3K3pFeVY1TG9PeUVPNkR3WHpS?= =?utf-8?B?enowMzBoY1p6ZzVUWHBoTFFWdnJkTk13RlJPa0p3WWNHNVFWblVXVWp5dnl3?= =?utf-8?B?S3RZWDZ3SHIyaWUrMVdzaWhIMEhjaU0xaHZiV2tHNTZkRE1tN0pKZWs0bEZw?= =?utf-8?B?K01adGtXN2prS0dJUjkxZURUSFNTaStONlkxREU5ZFdoS2p4aFR4QXBTYWQ4?= =?utf-8?B?N3daZ29iN20xNEJDMnJYWU1lUDNZallLTTQ5d01haUJTbFhHL21tVFhqelNP?= =?utf-8?B?RDJnUXVobjhmTGd0ZGE5d1daaklkSkxiQzk0WVRlWjdINmoycHFPUlQ3bUpP?= =?utf-8?B?UlE0TjhCQWpDK2p2UlhMclhvdWFSMzlLOEFGbE5VZXd4cmJYOGhPRlVFSzVI?= =?utf-8?B?SVJBZktydkxUK3BHdVI0ZlFnc05DSGVObmFOaGxDc0NLUkVlYjlOenA0Vnp1?= =?utf-8?B?bVpPcHBQV1dlVHJtenNBL2wvNkhGOTVGcHU4K0FPU1JXNSsrTmIrbndjcEl3?= =?utf-8?B?L3ZYcDhaSW1tRXhSRjMxaStxa0M3L0lQbi9xNEtET2dHSVUwVmFtU2VLV2xp?= =?utf-8?B?cW9TMEFYZjkxZHRGNDV4eUFPMC9NSDh0aHdCejZuSWNlbVplMkQ1RWZNU2ht?= =?utf-8?B?dXJTMno5VFJrT2o4OHViSkpyTXRtZ3FFNHh6Y0JvWjNkYkl1WVEyZ2ZwWW15?= =?utf-8?B?MUhyblp2Mkd0d09xTFpsMThKWENtVDJ2Y3ZuZWs4eEpPeHpwTDY2UWtRN0d6?= =?utf-8?B?MW01eFBpalhNL29udkZOSU55azJkcHhpcTdGZTlZbHViZEZjdG1XNUdhdXZj?= =?utf-8?B?aGlHU0M0Q0pkaTczbWFQa2M0NnRqdmlydUwvRDg4OXBHak9qTmFSR004UWRw?= =?utf-8?B?WG5BM3lNc0tBNjZBd2d6VXBQNVZ2bEpxLzVsRVl2SzZKZXVFWkUyaVdBc0FK?= =?utf-8?B?TVg4YUhwRFVkOWxtcUtuT3pWb0ZzNzJqMUZZS0dSU2loTlFwOWIzLzh4UWRY?= =?utf-8?B?T0NWSXQ5N1ZxemxKUjRHb2NYS0pPc3A5Z2JJclN3bXVUTXByKzQ0Tk41MzRU?= =?utf-8?B?dzdoNjRYODVNTUFoNk1YZ2JpMzIrREVlQnpuUG1QUmVaclRZNkhzVlVYL3Ja?= =?utf-8?Q?1szs=3D?= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB3PR08MB9010.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6620 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU6PEPF00009526.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: f486559c-d840-4bea-e767-08de5f2327d6 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|376014|14060799003|1800799024|36860700013|35042699022; X-Microsoft-Antispam-Message-Info: =?utf-8?B?dTZjbzlDSTRIbFp1eVRYclJiOUFUNmhJMytJS3FDbklJQ3BtSFNsNXk3Vmtp?= =?utf-8?B?VWxHZU53K1lNcmlMRjR4VEpMZmJBaU9rZnRsci9MalJpYjJVKzZoajFBWGtI?= =?utf-8?B?R21rK3dCd3B3c0lrUnlvc0JyNGQxYnRZdUhtdDhGazM3Zk9aa2ZpQ1p0MmZu?= =?utf-8?B?MnBHeDI4eFF1cWtjMTBDZ2hzZDJWdStweS96T3dEVDFrR0xaVitBZUFVSHpj?= =?utf-8?B?TzNHZ1lVV2pXTlNzRFdxNTVnckN2S1o2T1dYUENnbDdiTlpwSERiWjVFS0lQ?= =?utf-8?B?MnhSQURueXBTZWI4YXRYL3VtTjJJV2FaN1llazdmcFBzU2Y1dEpaY1BuZTlm?= =?utf-8?B?Slp6TjQ2eWFzNi9JRTFwRFRVcGdPRDIrNHIzcTRkQmtTM2Jlb0VCSnVPT0VY?= =?utf-8?B?ZXpJVGs2MFFHZHBIbldjblg3MDZRbExkQTdRbTZpK2hadjJnelR2aWR2d0hl?= =?utf-8?B?QWd6ZlBPSHlsWW1tejZZT2YrYlIxb3RtUm1LZFd5dkRad2JvOFZ6Q1lPdW1D?= =?utf-8?B?bDN6NmcwSEdnTERUOTBUaVRHN2JLc2NIUDlpaWRVbFVjaWo2VnVPTThoZzFB?= =?utf-8?B?OWJnVzQvbnh0SUplQWZnaVVaYlVUd3VFcFUyKzNRTnVGaWhBZ2NFem94c3Av?= =?utf-8?B?YkQ3aEkwc2xGOXY1QXo2dUV4L2ZjV1o3RjZjOExTK2NMMGdTRTVJMGFEcXgr?= =?utf-8?B?RnNOU0lNekU4clorWnJuVDM2aGV1Znl4Rm84MG9xb1NXYjAxNW1mRCsvWk1L?= =?utf-8?B?NXRHaVZkVHc1VU9laDk2a0VNOW13RlAyODRBWW1UNStnS081NWJYbnlOUm5r?= =?utf-8?B?dms4aUd6RElNbXRIR1Zkb3IvWWh3cEVPbWNydDZzV2JmaTZtZGhBOGg1ZE13?= =?utf-8?B?WjFHM2lQT1hLSGNuZStqbzJ0N2Rxd3Nia29JV1JBTGJKemFHeGhiUk9SaW4x?= =?utf-8?B?ZUI2NTc0R3pWWDNkRmlsRGFmanYyRjJMZ2hBWUplQ1grNDdXdEYyZGx0VjB0?= =?utf-8?B?b1VoaHU3cERBSUFjNXh5N3M0dWpTczI2ekppNVI5QWJGUWJiZEo0djVJR1hH?= =?utf-8?B?bjdTT25nSmNQYVlOODJSc1R3aWQvMVdweTFyU3FuQVZmTGJZZ2pzVTlrQVRs?= =?utf-8?B?WTdzNmNsZzNza2ZIMjFManBvMDFBbzRZREZVU3lvU3NFdTVSTU9LUHlZL05Q?= =?utf-8?B?NWRzVkRMOS9ZVUplYkQ0eEZDKzVMR21LZDZ2Q1lQZ0xzQnNoNG1nRXBtQ21L?= =?utf-8?B?TWZqaFd4KzBRejFUWDU1dzhiekJjSFEvcmErMkt0MzIrb3d5eFM3TVBxQngr?= =?utf-8?B?T3pWVnZiVDQ1NUk2SThWY3lRN0lsWDM3MVM5b3dGYUExbVFoZDB2QlVqb3RQ?= =?utf-8?B?Yk9XMmxCWTM2S1d5aHdSUlRWVzliTVYyVm9mNlFOd1VGM0wyZndIR3U4bzAw?= =?utf-8?B?YXo2RCtJdWlodnNhSTFjRldURERwaDcxdVpZc1EzSmF6Nm5seE5GejkxT0RB?= =?utf-8?B?a3EyUHNoMkFmZE5CU0RQU1dHczlsTmhSOXJWd213MnNhREtvR3dnNitCUFBL?= =?utf-8?B?YlZRelh2ZlVhZkprOWN3ZFFCbUw5Q3Q2VGNxb044clovakZvcjVDMnE4UFFp?= =?utf-8?B?UXl1aEp1VXJJdTgrbDhvY1dyMVNTajVYaGlkRmMzTVlLSmN1Q3lkZE9WbWxK?= =?utf-8?B?UlZCeWJQZU4xcXdoak16OE9yVFJkRGFvUUtiTlVBdWxxRnBoMnp3MEtNcUZ3?= =?utf-8?B?VHpPMndlb2Jua1N0TUlpc1Y5VVBwU2xCVitVa0xpci9UR0pYbGdHRVRrVXZE?= =?utf-8?B?aXExdlFuTHo4M04yU0JDYWNSSWNRYytNSlRGOW10b2xQVnN2WkgxUzF4ZjdX?= =?utf-8?B?N3l4WEhLeUUrRTBRVzBhMDNUMzFUWHNPdCtUcjdUbkc1MEVLYk05MER4cjJO?= =?utf-8?B?c2Q1S1htSll5RktqWXU3VFdKY2k5Z3hteEZGQnQwWkV4SStzcm9aTVlvTkpY?= =?utf-8?B?ZUxzOGRJYU1HZmY4eXRYZlR6Z1JWY1Fuc29BeFBiWGdVS0Q4NE42UWE5S0hi?= =?utf-8?B?aHZZejd3UGV0bldvcmZLZVhPZ2kzdWFSRjRvSjY1eWtTS0VTR3lhZFY2Y3hF?= =?utf-8?B?Q09ZTVdWZ3hDTTNWWWpsNEpJR2hqaEYxallYcnJwQm5NYXg1bGN2TUhiSkI3?= =?utf-8?B?M1N5U2xtaHZla1lTSktURHoxUzRReWVHUXRZZ3AwSmJZdERkeklNOWhJWldB?= =?utf-8?B?WU9vTCtrMnBnam9ySVB6bnhnS3hRPT0=?= X-Forefront-Antispam-Report: CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(376014)(14060799003)(1800799024)(36860700013)(35042699022); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jan 2026 10:43:56.4736 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 99ae4a72-8f78-4f76-62fb-08de5f234db2 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129]; Helo=[outbound-uk1.az.dlp.m.darktrace.com] X-MS-Exchange-CrossTenant-AuthSource: DU6PEPF00009526.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6567 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org On 28/01/2026 18:00, Tom Tromey wrote: >>>>>> "Matthieu" == Matthieu Longo writes: > > Matthieu> GDB is currently using the Python unlimited API. Migrating the codebase > Matthieu> to the Python limited API would have for benefit to make a GDB build > Matthieu> artifacts compatible with older and newer versions of Python that they > Matthieu> were built with. > > Thanks again. > > Matthieu> + value = PyDict_GetItemWithError (dict.get (), attr); > Matthieu> + if (value != nullptr) > Matthieu> + return Py_NewRef (value); > Matthieu> + > Matthieu> + /* PyDict_GetItemWithError() has a misleading name that lets one believe that > Matthieu> + the function sets PyExc_AttributeError when the key is not found, whereas > Matthieu> + it actually does not and only returns NULL. > Matthieu> + Not setting the exception for an unfound key causes the raising of another > Matthieu> + exception: > Matthieu> + : error return without exception set > Matthieu> + Hence this surprising manual setting of an exception to makes everything > Matthieu> + fit into place. */ > Matthieu> + PyErr_Format (PyExc_AttributeError, > Matthieu> + "'%s' object has no attribute '%s'", > Matthieu> + Py_TYPE (self)->tp_name, > Matthieu> + PyUnicode_AsUTF8AndSize (attr, nullptr)); > > > It seems to me that there should be an additional check between the call > to PyDict_GetItemWithError and PyErr_Format, like: > > if (PyErr_Occurred () != nullptr) > return nullptr; > > Since according to the PyDict_GetItemWithError docs, this function can > return null with the error set. > > With that change the comment could probably be shortened a bit since > it's no longer surprising to have to set the exception. > > Tom I missed that. Thanks for noticing. What about this ? value = PyDict_GetItemWithError (dict.get (), attr); if (value != nullptr) return Py_NewRef (value); /* If PyDict_GetItemWithError() returns NULL because an error occurred, it sets an exception. Propagate it by returning NULL. */ if (PyErr_Occurred () != nullptr) return nullptr; /* If the key is not found, PyDict_GetItemWithError() returns NULL without setting an exception. Failing to set one here would later result in: : error return without exception set Therefore, we must explicitly raise an AttributeError in this case. */ PyErr_Format (PyExc_AttributeError, "'%s' object has no attribute '%s'", Py_TYPE (self)->tp_name, PyUnicode_AsUTF8AndSize (attr, nullptr)); return nullptr; Matthieu