From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id GdLVHGhuGGqDACMAWB0awg (envelope-from ) for ; Thu, 28 May 2026 12:33:44 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=L5gR4S//; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 6E3471E0A3; Thu, 28 May 2026 12:33:44 -0400 (EDT) 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 B9C8A1E062 for ; Thu, 28 May 2026 12:33:43 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 487B64BA23CA for ; Thu, 28 May 2026 16:33:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 487B64BA23CA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1779986023; bh=TSrz3HQ4muJRNjd760VX6856wC8Ge3uBHpEwcmysJ4w=; h=Date:Subject:To:Cc:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=L5gR4S//eax7GbRNhzC1bTsT4xe9RkFPFR0u0FwWEEFSPqv7ras2DxQcoK11bH53j w3e4wJCVcLdscq0gAPK66W6A0Mwu433oYakSJQaEyGRy7Isn9hqHv3cFmMvMShlLHE 2+iGmPQGL0Ka9h5+/tChyWb1nEvjOg6qf0bI8lWM= Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013054.outbound.protection.outlook.com [40.107.162.54]) by sourceware.org (Postfix) with ESMTPS id 963024BA2E04 for ; Thu, 28 May 2026 16:33:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 963024BA2E04 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 963024BA2E04 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1779985984; cv=pass; b=t1/1PeH+HR7qGLfeuyAEkyVrvIVHPeSsQGOvRWbrnw0zfIKTkGs4N+mwhXZKjdYYNATOexeuNg0DcmMr4zUMwB/4QV7NPsKEYCv9tFHxSO0wkxscN1500Qb3hfFDHU0njBFXoTgYZujW71U+ddKt5cLuOMaBy1RxpbYJ+nj120E= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1779985984; c=relaxed/simple; bh=8Sb98V3V0gnERPfAOJn5/qeKlVhi32ZCd3YcLuJqAjM=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=vpYCu7qLOA3TMysEa1J6jXef0Va6oqPwaWoIo7X1tJ6/XX0cKi95KcEV2w/iSQmRKG+Q4w8/id6lVC2SCnHK3ZG4Kek3mk06SUQZf1IzUTBbOxAvonEbwVXnM+I2gm8so0fJWON+YHCv9NZDPep3TaAKVGehL70hShREjVcgdok= ARC-Authentication-Results: i=3; 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=FrkMlaFl; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=FrkMlaFl DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 963024BA2E04 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=d75DTpHvBfsfEy61gvNbY6LxNTpQxlGtu/ynuKf4FvdO4VZFPCIjbMfpcYGcBQi0H8up/S6axjXE5dHdcYeiTl9I5oZChY1xtc184IGg7BTEv8Q/7+ZunMCWSYj1l7Wz1w4q1fl5CdgQ9bosnUpjlExO/v+2ru+mlf0JFxkb1swPzu35VACQzNG7yfOYpC0dSh2V5iPtCQnNyORoOrQXOKmakC1OHnisBUpPxxZG4YoxENVDSLrMVEc8x5OI3O2bo/J7wH2sEs5cYIKO7b18Bc2RMyHHz5kpcoWZQy0eHsC7mH8PfotJaOKwW1Ku3dC4x+JJ7jCzrEXH5jUDhFm1IA== 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=TSrz3HQ4muJRNjd760VX6856wC8Ge3uBHpEwcmysJ4w=; b=fRekb63d7ZOd2zkhkQ50RXhAKlu7faTnoYWQD3+iBQRRaDXRlBsX9LpkzlMO4ZGredHfJVFfzyNWeWdao2zZbPaFKOsprynZbCUti97JkZkaDgsr1a/h0/TbUPLZ+uAWODmpHxsnBnE+BqmI3td847eoi6xXxIt3nIEz+aG/y2GxfQEl3J95XC0LD1h5H6DozxvI3G8oQ/wqHutpNmACyD/N9seVIALvtTks7NgTMOraK7wXwWik1unVmQks/+Z64Spl4+3fNtzKTuiFHUCMJ/Qe2JU9U4HZ8Gbw2cysmHxHa5QPQudzjOHeoDOnC8N//JvBbIvsyiniZkOVMiV9XA== 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]) Received: from AM6PR10CA0106.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:8c::47) by AS8PR08MB10143.eurprd08.prod.outlook.com (2603:10a6:20b:634::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.11; Thu, 28 May 2026 16:32:59 +0000 Received: from AMS0EPF00000190.eurprd05.prod.outlook.com (2603:10a6:209:8c:cafe::ac) by AM6PR10CA0106.outlook.office365.com (2603:10a6:209:8c::47) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.13 via Frontend Transport; Thu, 28 May 2026 16:32:59 +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 AMS0EPF00000190.mail.protection.outlook.com (10.167.16.213) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.92.5 via Frontend Transport; Thu, 28 May 2026 16:32:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JWEXamwcjLtqIxJWOSHoFW/i5bZm8N7N6Qo2r1+u06UtIdc8PVhke8oAkJo1FX0DJgSu8aAMnBdix8LZrShU4adIBMBFqcHvYvCKOYH8pD2RbTgYN6Qfc1xvGxrvuUNol33AarvCcyvY5VTywXvNARmAzb7I6a7bBN/4YNySaDv8jmD3B9VqHWhgYZJsgt/d8fN6J/3Fv2srbJq/ACLJOhrsVMW5wrI+JbmwDebaOsCeFaHk9L0/WGDfdddvSJse+gEjZXMV2YR3eVmak69Bj7YniMPcHxsY7Qe2ae6aICDc4hAwcHJRqNNxiwqiP/XaqaVCasnnCdNmmgHLEq9veg== 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=TSrz3HQ4muJRNjd760VX6856wC8Ge3uBHpEwcmysJ4w=; b=V2Yyo6jKaP/WB62n9yUO71XRfyv0s+v/zd2kVUSiG6HrQIa2ZvkObokESJmUU26N5pYmOsnflwdzUNbWYVuICmX0nD0QpTPfh8aMzEDDtf+I9M081k1ZslS+THKmWFQiwQGxBVE9NfvRXYm2LgiFX/o+HgTmA8hJzGAK1PxJz/7pXSP/dgPDtfL1NY+PSOPCekgGb/C0n1ZQkUOq1oXJ69T0yzRM8OHXFwxnwhPD/QzTNQ2yHnP6nPPSUnNG2SDtpDlb/9XSNOyTWD8eQuExeEDv9ZeasKe+gj1sXMrRm6cKMwWYimX9xGiESkjElW7kAyn2a9MrmlcitO2t4lCSzA== 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 Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from AS8PR08MB8659.eurprd08.prod.outlook.com (2603:10a6:20b:563::10) by AS8PR08MB9791.eurprd08.prod.outlook.com (2603:10a6:20b:614::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.12; Thu, 28 May 2026 16:31:56 +0000 Received: from AS8PR08MB8659.eurprd08.prod.outlook.com ([fe80::96bf:2de3:5eab:70ae]) by AS8PR08MB8659.eurprd08.prod.outlook.com ([fe80::96bf:2de3:5eab:70ae%7]) with mapi id 15.21.0071.011; Thu, 28 May 2026 16:31:56 +0000 Content-Type: multipart/mixed; boundary="------------0LE9j70VfLPc9pe0pym091sh" Message-ID: Date: Thu, 28 May 2026 17:31:55 +0100 User-Agent: Mozilla Thunderbird Subject: Re: RFC: prototype of C extensions using the Python limited API To: Tom Tromey , gdb@sourceware.org Cc: Andrew Burgess References: <21479c1d-3a9a-4ae2-bc1a-5dc19871f275@arm.com> Content-Language: en-US In-Reply-To: <21479c1d-3a9a-4ae2-bc1a-5dc19871f275@arm.com> X-ClientProxiedBy: PA7P264CA0049.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:34a::7) To AS8PR08MB8659.eurprd08.prod.outlook.com (2603:10a6:20b:563::10) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AS8PR08MB8659:EE_|AS8PR08MB9791:EE_|AMS0EPF00000190:EE_|AS8PR08MB10143:EE_ X-MS-Office365-Filtering-Correlation-Id: e255cf26-392f-447e-2168-08debcd6c7d1 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|366016|6049299003|1800799024|376014|4053099003|18002099003|56012099006|22082099003|11063799006|3023799007; X-Microsoft-Antispam-Message-Info-Original: X6CWdGHeAj+DLz9pJWBvbxs46TEa1EnmnULkkj347fGNLfn49oGNih1f7CvuzvxFiYa2XDr+/LxWtj6WFBe90zRaSq4n+aCqCBVcbjaoqa6IxfDb2RK0uvT//n31vtYpOzRj7LkDm+CKkoAVs2bfalJcE/0IW4aLfwtSJqlZHX7RG6JFGLCpxabmqG8uFsy5SU8Q+Xm+bQeZIG4muyxDUYExT4BIC0qU3v3S0yxTku3fFomWJSgCr2NfenCI2aRvgoOAnmXshkfqWKdnsAqE0XwsGYq0+9l3ZD24I0274NrmO8YnL4qTc+XfpTI2Tz416Tj9XneGk9pQm2HCrVUtYaBmd98m4i6Yhep1EzOVy3R0SiUwFSfZ1LRTpfQip4POy7b0qz7/mAZ93vOdLx6CswpT//djwQ/m8BawhMLTq6t1ZzI2icxl9c8rSaYXcKfXVMMiq/RvvaRPTdyvh8ewPj00ig3OJ5WHVJM5P/0vJtr9tENdyASXLcme7doenCIymYiH0PtP6KvDaddDDXiNSeCKnJbtsI4JBZYUjMq4A6ICbjv5zNYh5wyIk9NSHOQmTnFixkkmsixhkaLVWZxl7eqzuoyUFeelCG3dEb6N6uGk+Q7ZVarDpeMF1qZ8ruBJdST588AKszMX9jrxVOu6Fw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR08MB8659.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(6049299003)(1800799024)(376014)(4053099003)(18002099003)(56012099006)(22082099003)(11063799006)(3023799007); DIR:OUT; SFP:1101; X-Exchange-RoutingPolicyChecked: LIe0jbEoBvDuSEpiKwioEVFYa5ezHLJRGQWMKPB5pS6oOUEe5/XnCmG8rhXeUzpn2CWT9V1lR/GoeRG5EH7UDm0wFAyfly3AwqeeLUjbNQjgBwQXGZ+kn/q7J70+x6pKbwgcRbyHB+eJYtY1+oS5u4Vw4LFqiV4eaLIrtX70EkZZelNs6y28petWtHVx1od4I4pitST/Yn+j2WvhF6Jtrbqtz6ZPv3SqFj2Hsv8rSqOMc4qbmFBeZDprxlpMmpedGokRQUDl3ydlwgvzDTroCweNDbCJ9ZpkY+iK5VsI0z5RXcKLsc1FLq3+Iy99fouHo50odKrGMkeY8F9Yhtrcxg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9791 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS0EPF00000190.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: ec48e597-dd4c-4f79-3e12-08debcd6a1ea X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|14060799003|82310400026|35042699022|376014|36860700016|6049299003|3023799007|11063799006|56012099006|18002099003|4053099003|22082099003; X-Microsoft-Antispam-Message-Info: gCkfU2m1FzP0JXm0NXeINjDaB1RH4EcwS1VXhyO8Wh/a2Gvkb2npQ8eViWpu024WNGklBpVxEXgDbPomfS+o7U2fPt3/gYW+AbkKYl6rqZJRoT+kPIOBzk4ZUgDzG2TQzqd3SiaoJtpqeot1MMPFFcaHchO+kgBuwd0V6N6Fg9+Q7N5peGRygZ/G4q53c0IwXnhAqk58pBmoiU9mOCF4kkTqtPLcgpNB/1infilZR9Sk+rlmCwpbv5u2WC6qSX1aY0KEULJqkftaLHW1HsvEN75NepvNV0JUUIcJPpAi6na551rsqEtWygCeDYuPMqXdJEj8viEv1azFbpm4VxPr39JqT8ONPgu/u1F8c8JJRTk9T18ImcgR+ePYbtjSwVEYK1tkz6y8N0/KWs8Y9cGJGyMaplRAnHyZmdV2xqaKx4qbmGlgScaUFuio0ZZNzjOenDXqIDUdXTNSCpVvg52xuFqTLJu9fxLR5+qtUmrweiowhZcglkT+68EQhRMW7cS1wQItPJjmq3EWU5AF/dntlTBGjhb9/Os7e7iKbb9DQhEjU5ZllwVQn9HXrqF3Fo5mNKknP8akUZKtqv6iFFVGkQQaQTkUaiW485QluH9fDIH8xnGg+xoC2Z0ZFjJzrUta7OOHULlsYuyldUkpIkunSk/cB52onPYI+l6+ZyItAMKtWTsjGiolWR3/9T5d8eRR 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)(1800799024)(14060799003)(82310400026)(35042699022)(376014)(36860700016)(6049299003)(3023799007)(11063799006)(56012099006)(18002099003)(4053099003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: aVIuB+9QOFnom+576wsMBAsAC1wVtrxAC5euR4GNkOJ3y0/8Gl5w1e/GCdpPAQ2bRILyQZcG3g8r09Hdcc1qmbdAhGyERim4DSY7y2cJdXxzfBZc6lLsEPxOfoEswnpiL3KA5DM175S/vT/rf09/A2hZbQvA3+81Wt5vKMasPgdbCfNzufbw7MbeuAsN4BiFw39U7HZhS5RKql17jIRqHDKrwGDTZNbjxM6eyvfZoHQiW/fQLcy4+2lTliBCdVG7l5bNCsZ78d9Le22yEjVG9JkInpe+HQHr/Jx4w5xnpwVALSIN/LxJiv7aQHMw9ETsak1YfKDicTvtag4HDpZ67hhfGcuLqyIxF0OFaZnoc4CRXx7VZ3jcn9CL01ZcAzsVEVirCamr0lrN/dmB66VPelxvwUELpIl0v9VGqdndhnYRCboTm9OqdVR/7AEX+tTJ X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2026 16:32:59.3512 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e255cf26-392f-447e-2168-08debcd6c7d1 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: AMS0EPF00000190.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB10143 X-BeenThere: gdb@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Matthieu Longo via Gdb Reply-To: Matthieu Longo Errors-To: gdb-bounces~public-inbox=simark.ca@sourceware.org Sender: "Gdb" --------------0LE9j70VfLPc9pe0pym091sh Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 28/05/2026 17:24, Matthieu Longo via Gdb wrote: > Hi Tom, > > As I previously told you (at least, I believe so but I am not 100% sure), I finished migrating all > the Python C extensions some time ago. I had discovered some issues with a case of inheritance > causing unexpected crashes. > To facilitate the debugging, I decided to implement a prototype outside of GDB, and managed to make > it work. I finally got the prototype reviewed by Victor Stinner, a Python core developer, to double- > check whether my design was working as expected. > > Please find attached my last iteration. I also provided an archive which should be more convenient > for you if you want to compile and test it. > > Could you please review it so that we validate this new approach before I migrate all my previous > patches to it ? > > PS: > - a README is provided with all the needed instruction inside. > - this patch contains code from outside GDB's repository, and should not be merged inside GDB's > repository. > > Regards, > Matthieu With the archive, hopefully not inlined. --------------0LE9j70VfLPc9pe0pym091sh Content-Type: application/x-gzip; name="prototype.tar.gz" Content-Disposition: attachment; filename="prototype.tar.gz" Content-Transfer-Encoding: base64 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 --------------0LE9j70VfLPc9pe0pym091sh--