From patchwork Thu Nov 21 12:47:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Vrany X-Patchwork-Id: 101644 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BDD6F3857833 for ; Thu, 21 Nov 2024 12:49:30 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BDD6F3857833 X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-114.mimecast.com (us-smtp-delivery-114.mimecast.com [170.10.133.114]) by sourceware.org (Postfix) with ESMTP id 4F20D3857358 for ; Thu, 21 Nov 2024 12:48:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4F20D3857358 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=labware.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=labware.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 4F20D3857358 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.133.114 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732193281; cv=none; b=PAwfP7Kyy+8x7EhdZ7WoZF1fI1qG3J2h5hLcyldtw31rlld+NcJ/PGaDAST3+jo3YEjaSNtfgEH24WrFZ1v3/H6tZiU4pSQxQpaxQPq0CGcLtDPDkgBlEU1MvAaVqaY4d/ioyCRGaqbykQYEFxhV213zH1Hdp8E/6jgHCmwnVcY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732193281; c=relaxed/simple; bh=ptdf56Gob4HrcYqQLC957LrgQbAM3Okp2CIuwlqZdCc=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=YiZY3VdsU5Y0EZjPPb/rPu565eruUoi7mAZm+2QvGSBb6gIYOxLXpo2EyMvrif9Wav9i/VaZPJOFSXjBo4JwXI6/ugj1QkB7Crh8wg0BoUaV6IqHFR/Yda2RN0DQRMFjhcpnanhgbRzr/ZFoGUM32UW/nc4kXEER03NYt6uk29A= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4F20D3857358 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2045.outbound.protection.outlook.com [104.47.70.45]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-294-qOSe2A9uN4iCTBlmFeUKZg-1; Thu, 21 Nov 2024 07:48:00 -0500 X-MC-Unique: qOSe2A9uN4iCTBlmFeUKZg-1 X-Mimecast-MFC-AGG-ID: qOSe2A9uN4iCTBlmFeUKZg Received: from SA0PR17MB4314.namprd17.prod.outlook.com (2603:10b6:806:e7::16) by SJ2PR17MB6443.namprd17.prod.outlook.com (2603:10b6:a03:4fc::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8158.27; Thu, 21 Nov 2024 12:47:58 +0000 Received: from SA0PR17MB4314.namprd17.prod.outlook.com ([fe80::38a7:a6f2:3b95:bc26]) by SA0PR17MB4314.namprd17.prod.outlook.com ([fe80::38a7:a6f2:3b95:bc26%5]) with mapi id 15.20.8158.023; Thu, 21 Nov 2024 12:47:58 +0000 From: Jan Vrany To: gdb-patches@sourceware.org CC: Jan Vrany Subject: [RFC v2 08/21] gdb/python: make gdb.Symtab comparable for equality Date: Thu, 21 Nov 2024 12:47:01 +0000 Message-ID: <20241121124714.419946-9-jan.vrany@labware.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20241121124714.419946-1-jan.vrany@labware.com> References: <20241121124714.419946-1-jan.vrany@labware.com> X-ClientProxiedBy: LO4P123CA0096.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:191::11) To SA0PR17MB4314.namprd17.prod.outlook.com (2603:10b6:806:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA0PR17MB4314:EE_|SJ2PR17MB6443:EE_ X-MS-Office365-Filtering-Correlation-Id: 586e4529-8065-47da-a785-08dd0a2aba01 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016 X-Microsoft-Antispam-Message-Info: R/X5xHsrS2lsC67KpW2NW7ZGxWEA9TD6QPMicfz+bBcUraZLqR0wA3Eb1k47VvgX332w3+gSSS5mSS5iNeRYqWPpOZaDycLCqJU0gX5qKrBNhky5VOMbJcTqbEjYgacKOF4yfiPHbkTFO5f0PmBhLJgylhAnmBMNSVxdp/BxLluazszi30Gq6apGzqoCvCPhMVTiN8lmEImSSzVbcG90p5SGCYUXq+iBw6Xnc7QSbMKlsx0RTjfcU0aFGs1dWJG+V3QAlsKMg22usb1GW09vI4fR18RHxf+O5Fbm9OohzPa2J6HkqS46/UmkwhWVWz7H+wMNFPq9C9BHzzb+MZfkhx1S8vzNytOaQ4D6LRscjkZEaKD5se8YYlKMcA960i5psWh3kPXMNuTvqoEBEGiuvhgH7ngBNEFuCavCltWTJhEpfTf2+hilxJVT11Jf9raf8UMQtNrL4tluhjjlObKvBV7vfTniXk7v6/MbWs+LGO8oY9/PjkjpQmHxvarKxFnt1o+RLBkR3M3woexfZEu2K3+sHrqCj6xFSQjxtpQAK6O5dB0MPXcbPD226G4Gv/BZn5mEkWkkK4/G4vABZIVI0UasIk2JXdJadCESZU43pUOvUaq22ycc/GkzeGCNhdKe317h82khevBzol1Ofuob/d0Y4j63g1VFm/zWNIgrO3/dNMFbxAS8HYhLAVaEZ5KlG2Fb36O9Ic4c8vx+pxZX3QqJJ2YCoV0PyNT3yGRw9bbspe34yiahznXO2VNqR4fTembvGHFNhxeYae4nbmCbFe3RXix9XOpw+IYw+fDhrsO6U1IFufJ/Kt5cXtEbWjoDGP55CkVxXU3YQ++DjuGiiocsID1bbKxpOGF0Yq4ttPawssmOOKPL03Es0pnDFdBXmSUMsf2zQ0kJnfevXgnUoaVBwCXtZi6hfFi+CkKg1vb/AGt9DywxFcDqkCfngx+1HwgX/7vEZmMNTBF3dTVcg+iBtlm6OPDnz15R7a+FRFQIbrT6GN/QDIY3x0ON0md6nfqRB37rnL41ktolXtPVJd0eik92qZPsAvlTbGh0pUSk0qLExKn3bb5tNj0hoZBAWCHfb11NGQ6hAfcyUuTET+HQiDppalweo5e5EC2ZUndbfbPjVBaY2XbltzROQLW6Y0p+zkz1dSSPNE5V23Piw4X1rWqMT3EqzUh0hhsgbC7FuUurjqwtCGTTJYQrXuag1/abnN9rdXpALNU5oBa0TNdNj4hfiuO9nmLK8kCIsP4dUP9iMUJZVLNImXXMYR3tDCYhQlBuLXOhjX6GMF1kA7PxlULEePRUkwL1QB21a2o= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA0PR17MB4314.namprd17.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016); DIR:OUT; SFP:1102 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: d7hgT3jglqZoaibvDXgw9w2LJZ6zRHAhLvcfLSP+D75JjOvFhp32SzhajBQg20ugEglWFOjEbdQALjGH19v8tXhxVqViSHz08ngB3DrDibhHkZLPqzCj0tX5eToVNdh2I/u4HSrbKau/1lYCp2kolgv8UdtOvYk4K6vpLG9UJyuVUnQZS8BvTEhFWF5QzaU9N03s7XY1iF+7aloHoyNRUD+/7n3FayZbzZsvpkH0Ef9a09SY3y39v5BPl/HCDZwasXBpgC9dxd4crN0lBmY+Os34aDs9bTWnPlZ6glks84IEAMQWXAxdDZCWeOH1eOs+cvX5WDf0UVjD7+U27KKW8jD3ax3wmjCeuFT5p+D78wXL4qTk44nN2Doq7hnDd5yt0Ppv/M3Lvuhmmt5ICSBSynrvB/hxrqawdTk7d1lYw6fDr1FN7tExGvB2kHqyt7vZMZQg4ACai5XeE6M3zGYpLnQ/+mKz2k6fqL4f8L3QBDe1/tKiLWTjK3ZCdo03hBwEqhSoSTBw08vkJdUxKgG+fLsJ3btPhtMobzG4r0xk5mSBbunrprv7ApiffYW4kBfbEJEVWoxsLjZsJ9Wsp1tsvK3jz102sZO69UpjyMj9ioPYq5jrhg05X/XbsgcsjPe9LcbitwaHBDI/PC+hkMm2irZGDdv88Q3BAYq4mvBUdem0vcMeNNERbTxsdSIBVpAH097RCj1NN8NhsBvnvCggAMr/haO2xfwql7Pl1MwD7H6Jpjzci7Nw8yaGXrhIuMjg+xdGccXSI3IGK2pDXQjLXnA0XteLucTZIQ8IUOUcZGOrIhqNiVsqmF/zgPSV9+6ivLX60j25OvTElAtWGh1rDqipCV1jrChV5dnclNtXb+b5UDfGttm8FPFDYlhWOz8WWftJoGtCFrOI9dB+DteCUA1LsX158I4EcAJWA/k8Pfs57i6qN14MqynNNiMFbQeYOvyE+OC8Gs1mjZp8DVJ2nN2Kkce1UbVFpMIKDa8lMx0hwCXwdo4BhahLNK/6alMHumigShBsyIvV/5kGMNSsw7ieQBxF5ztOOxqfNbtRVJdWg4kHUQpWWX1wk6P9k2Wkr03wRYiEmz70Iv/8zo2sYabtxIVUu+rhieYt6QFYJcqYgwDo62mPNRCDSg1SKE4l0MDL2QLbW6TtkpOAsJy8wGvl9Y8U5ZpSamfHdUHhEXBJpyGh4aIhxT4K/V/CDrqzg4A4i2NFgXkqpdIE7g+ZsTKiCsbp65dStrUEyI/Xbrmf45R5o2Cgl3lB8wM2CbeGGqJtvLzZnbwpxvoIjtxkq83LOlqg4Q7sluDMl4db/F+mzPW3du8EtjSQ4HfNPcwM+vLgmaUsly1BA0Eyk04Us2ZpaXXdn7XlPMyU+pXS9Dn9GoIAHZ4dwolMHuCZKC2B4dqZga/5KWaVbDN3b9oKLN2ZxLu43BNOCfCdP2hS9jG5JlTUatvq/YjSyLIoXLB/JDSIJeRD/JEMK8SdjMQTYU7rlCtH/gdhF0+VjBkhTTUmu7PcOFYWC0q3uaHsQQWup5mRZdUyFiVwOv0IRw1UY4xKWxHbsjK57Cx8uNPg6ocv81swGqlbngGcX3HYyNv3 X-OriginatorOrg: labware.com X-MS-Exchange-CrossTenant-Network-Message-Id: 586e4529-8065-47da-a785-08dd0a2aba01 X-MS-Exchange-CrossTenant-AuthSource: SA0PR17MB4314.namprd17.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2024 12:47:58.3278 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b5db0322-1aa0-4c0a-859c-ad0f96966f4c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Iy/yV1wdU+uyfNB5h0iJCLhG+9HyaoPG+JioalTLDLW9jZkPH09r2Cz6avqmPB8lrCKaKu8klicKqxmJSTIFHw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR17MB6443 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 749H625Bau8GDoMJ4deeD07naN_RAleXvmyehrBcD6w_1732193279 X-Mimecast-Originator: labware.com X-Spam-Status: No, score=-12.8 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org 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~patchwork=sourceware.org@sourceware.org Like previous patch, but for gdb.Symtab. --- gdb/python/py-symtab.c | 3 ++- gdb/testsuite/gdb.python/py-symtab.exp | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/gdb/python/py-symtab.c b/gdb/python/py-symtab.c index 99a5094ba60..5330b15ef8d 100644 --- a/gdb/python/py-symtab.c +++ b/gdb/python/py-symtab.c @@ -579,7 +579,8 @@ PyTypeObject symtab_object_type = { "GDB symtab object", /*tp_doc */ 0, /*tp_traverse */ 0, /*tp_clear */ - 0, /*tp_richcompare */ + gdbpy_richcompare, + /*tp_richcompare */ 0, /*tp_weaklistoffset */ 0, /*tp_iter */ 0, /*tp_iternext */ diff --git a/gdb/testsuite/gdb.python/py-symtab.exp b/gdb/testsuite/gdb.python/py-symtab.exp index 4765ef5cb2f..9caa5f1ebad 100644 --- a/gdb/testsuite/gdb.python/py-symtab.exp +++ b/gdb/testsuite/gdb.python/py-symtab.exp @@ -89,6 +89,27 @@ gdb_test_multiple "python print (\"simple_struct\" in static_symbols)" \ } } } +# Test comparison for equality and non-equality +gdb_test "python print (symtab == symtab)"\ + "True" \ + "test symtab equality with itself" +gdb_test "python print (symtab == sal.symtab)"\ + "True" \ + "test symtab equality with other symtab object referring to the same symtab" +gdb_test "python print (symtab == 123 )"\ + "False" \ + "test symtab equality with non-symtab" + +gdb_test "python print (symtab != symtab)"\ + "False" \ + "test symtab non-equality with itself" +gdb_test "python print (symtab != sal.symtab)"\ + "False" \ + "test symtab non-equality with other symtab object referring to the same symtab" +gdb_test "python print (symtab != 123 )"\ + "True" \ + "test symtab non-equality with non-symtab" + # Test is_valid when the objfile is unloaded. This must be the last # test as it unloads the object file in GDB.