From patchwork Thu Nov 21 12:47:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Vrany X-Patchwork-Id: 101650 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 3B0EC3857007 for ; Thu, 21 Nov 2024 12:51:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3B0EC3857007 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 9BAF43857706 for ; Thu, 21 Nov 2024 12:47:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9BAF43857706 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 9BAF43857706 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=1732193279; cv=none; b=G8y1ZUmCZMy4TEjxN9/uoUk6SoGmE1MqmkQrcvGzPwCVuT3BkstLi8+r72dW4cz00/+mTLq85+ji/IeyOhGh+beUfReFb2AQVHGSreBMHme+2QDjo+4p12hyONfVvesMZvBBMhr6Y4Z579ybTh8TGGIJplKkqytnxUYaXMpgMTY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732193279; c=relaxed/simple; bh=i7Np7JwidAqstHuSz//VINGJUY+sUU+IYLm3qJ4Jbg0=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=EgO2/uX4Y/qu7/KknVNCRTbF043bOoxfCTV4BPZe7FTkCnnSYxeDw0WUn6z1AOtVwAR5ZIokY7btlVCngdoWZ/VJfm27JtFMKF2yxOigAO3+xse0/J+EMDtQBREtH/hFJL+KxhoWJqBEJZ2nh0rVDOFI9UlpPQ03+8cqVnNb80Y= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9BAF43857706 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2046.outbound.protection.outlook.com [104.47.70.46]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-440-Cqfs03JaPJ64W1LvXVL-6A-1; Thu, 21 Nov 2024 07:47:58 -0500 X-MC-Unique: Cqfs03JaPJ64W1LvXVL-6A-1 X-Mimecast-MFC-AGG-ID: Cqfs03JaPJ64W1LvXVL-6A 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:54 +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:54 +0000 From: Jan Vrany To: gdb-patches@sourceware.org CC: Jan Vrany Subject: [RFC v2 07/21] gdb/python: make gdb.Symbol comparable for equality Date: Thu, 21 Nov 2024 12:47:00 +0000 Message-ID: <20241121124714.419946-8-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: LO4P123CA0625.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:294::23) 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: 22bdd86e-cb05-46dd-ab01-08dd0a2ab787 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: NYeIh6e3G/lwWiXaMUVta9D5CHjEKSHjRHzX7JcuOxGTUY0MSYLxux+Dye0CkyZUcAOD3LwDWSDdhDYhsZmTmBHMN86i2OABY26tetMkallTBpvd+f9/X5GrPwsq3eqQ4zG1rqlaWQl5fIQsoZZF/+dzaE8fsmr5d+FBu5XqHfFKTg6yuwVvXrGoIw1PCi3jMKuaiTi9bhn4Rwv02zX3AZXr6nPAfso/bFcVfb1/2+260t/Bnlvts38y2gAQD8eBb/9o2owWjCA4PAWMNWJaeV4T1Zk5MEuFo3JJusNFZCVWjyk1JqrHY8k57lFElNHa6Lhjc+0mugMYDGfKrZLtJZYO8k2/K6z0z5g/FaKkj8CLquPNiITA4XZERzay01hHTWRi437wuwzdl1bctc3g5DD3138VEH85PfDnv9Xqwf98jVedxgmcU2rmOVXwrCVrkWfi/SQJh3Cfu+ZXjUu/eOx+tJNGGyEV7vVHV5HzxB06cCSa9VY4EZSrEZsgdkhI5LgeD1lYhqeeVeSuF1lt69XYpEi1p75d3g+3kItyACqQcmMPnedr1X/EAFjivMTHnfQ16u/Mpr+yE7lw6oJHu4PeBoR/fePq5aWR7My/UVdYVfZ4wIB9ZMMpSyXnmfexnSned+DEoaB3s//fnct7Z0FeaHQgrtUi31QNe9Q1C4bfJ/aQKNuMBpXJyRVNcfYEGdV0IY3yELb8c8bRlftLgUr05fW9JNzS2F5JhZQVecGwuTKdadYH8AnM/BUBa1axjHvuJJ6Nh20H8gshSO5ls2ELuNwROVlF6vuOY1Nzrku81jtjXtasXRU55RXAjs1Dq4UMTi5Xn+OvqcO/fyYzxwCjOkUskNGDm/uuPc1VzWHnWeczxEQRvs4vQ96EohxKxCzaGeE4GtOPQsvPvIbzWaqdDyCOWOr0VONX0zxAZh1qfHG+qlZ0ip62tE5Sgh6oH1/CrXnbF8JvpuHaMTyWZAwNhpqZDEOwD8+UVJLSO72B0cIyPNmk2RFo2GxjoaLSjr3lG5Ni1PKNHXhZDHzfaoNePrpOGNLkbDvC7ywWVIiPKS68+Q+5Zqa6Emd3UgVM/S6XhlyxoyEhGf/rp0WqSv6N9j2PlJ6S7DYewIddJjluUfAi1g1jhvxK5iYWD+4c76x44NxzsflPDecJEOLU2r+W764eh9qZHOrZ0wfBU2ipS9ri4yoNiiNJidTGJK3cMv8GJdGv8YNecpHaw+H80oEEWOEX6n7dDDSMEA/BzaMQ3jku4du7NF9Hh7CdrfWb7mRF/a+L5B4TGxNSIhY9NAM5ONq5NJfezZFdOXrbOA5OOA6R7RG62QSbd8veSyTh 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: BsuNxBaPvP4bQq0Wuww2uAmeRfT3OPGipP0XqgtkcJZuI4js3qbrLLSjDilkggwkxomnGVYmK69EewrLztPF04NNF5fpVMrG81P0LoR8bPQyEZLWliva7PINm976no1qwkdJLov/FYKOhDlEBhgffUclSY6PAkqdnjusd9bs8PjogNfMSHTBr6Onnraxf+KMyN+K6zKfBv5v2atkg2WlokfGF/mfwuvOx+THHWvEHOQwDFoFdI/p+NSkM1yhW3/VUAvspdzB5YJyVyD1l2rsyKzpUIE8zoyHYfn0INKA8c/N2nNzQAC4cL/okFIRdw+gRMb3FKcIg1ATDGKTtFM8Tp8DNBkitd0mKYloonioYFfTFCWE3zmpTjWUyss11An7Srw+RJZIbUvPMh4eVNEw9t4q7XgPush6WFQ8lzmcSWOLKZW4lnJMDtzDVmukJjYpB3FEhBDJMN2X92tZkGEZr66/y3ckzuSOnHi3Z/+YbsKjvxKSszo+sewQTo8t+JOblpY9A8SL1BI6rBbeJJdd2lcVdxmtJHsgImZ0r2R6YqJLGRHBRXcxuoV6cp3qAHOcQBa7Ioto4/c+opR3j1farj/jBxGvNR8zJuY76OKZnsFS2aRUDDLJrU1r04rlueLR4lK9mYdHiEl1leB2z5fN5lLKCCVjYdzdFsdl/xtggk/y6HtIzsD02xMbII5hby+KBGJJPWDVNLwcp54m0adzjLMOlbWfEFsTbRyx98NI+oJcrJceScMHzB2aiOh7FHLX1H3E8fHjmwubxZjgxfYCoPnhdWKQ6G7ZEt7LBE2BVAFtuEiOQu6Qx0RxQxou5NGDrW7cd0twVZ2wjFrgzf+OAbn+hk4/xyK1CMKDAigpzj8G2xpPxX+hGMYNAamH0hgWBL+wlt5rEZWFaTBKH0tk9FVqVw22TZwNjQqaD4nCmh3gFCemmp62/irIxzaa2HpkTdEtFWEXQL7cP6yKjW4ttdxYtl54r8Q4pXwo9A3S0RQ1zDIsr2K7eC3uMdZ9hjVQFJMCpTQ7w49eJqnMopthUleaPSw2eNddukLU8R6NZVUZxP5KH8Nmjbf0q5xhQDL+OUlpyFt2x8lg20aT4mgxPwn2sG2T9bc9P89pxpaVxOfCVdF74myY8wHab+MtwFzABXVf9OUcfeTGmcvRHib03bVyPzh/czUA9F6PhL35DcoXpfxU7T/MrqsGaeGN+7MH2v9BgS/iR6RfJ+5Bkk5taeeekluXuu8FwV4eR+IExUgR4p1siCLd0NT4dRjDfKKIbow6BokILoDaxZ9VDmLfR930p0vHO1lD28+LLNqasGHm5S0tFUE5jAr+sBVw0k3CKzN3Z3HVAYFyRVwdNGJqFNA/ig1GQBTgKj+2W18b79xKj2VhKPx/RhcAAtG9EklKV1eY03DwoyDE9FW3UmYMD1XAY/xm0YrD+f79BMGxuBp27beIP0bWfZTeYdsmVD/wpgHiH8CNGyP7dfGQzs7zmk3OZrKtbEUsEmFirZiYcYFpNOWvMP8TjOfoo2JtEQTcO7qtlck1wtvKrK6Ml10UagD/MDJVf9JX3R8oCtvQ+f7riMB1/rxKL6glESRRzeLa X-OriginatorOrg: labware.com X-MS-Exchange-CrossTenant-Network-Message-Id: 22bdd86e-cb05-46dd-ab01-08dd0a2ab787 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:54.2303 (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: 5Zby6nWC2OPt0y8ZxZFd97rUsDUNdShTpfYq9pibkgaC7/orTBNpkGvwcuQnhpLA1UuwhfonkkbkHso3UbUUOQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR17MB6443 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: NQYe1f2ghBK0M48fSO11Il1k8Dv1s2hdPwlZOgVP7P0_1732193277 X-Mimecast-Originator: labware.com X-Spam-Status: No, score=-12.7 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 In subsequent patches, it will be useful to be able to compare two gdb.Symbols. This patch makes gdb.Symbols equal iff both refer to the same underlying struct symtab. --- gdb/python/py-symbol.c | 3 ++- gdb/testsuite/gdb.python/py-symbol.exp | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/gdb/python/py-symbol.c b/gdb/python/py-symbol.c index 38eead9cb3a..44bed85481b 100644 --- a/gdb/python/py-symbol.c +++ b/gdb/python/py-symbol.c @@ -767,7 +767,8 @@ PyTypeObject symbol_object_type = { "GDB symbol 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-symbol.exp b/gdb/testsuite/gdb.python/py-symbol.exp index 2a74c97a137..1bfa17b4e91 100644 --- a/gdb/testsuite/gdb.python/py-symbol.exp +++ b/gdb/testsuite/gdb.python/py-symbol.exp @@ -201,6 +201,27 @@ if { [is_remote host] } { } gdb_test "python print (t\[0\].symtab)" "${py_symbol_c}" "get symtab" +# Test comparison for equality and non-equality +gdb_test "python print (t\[0\] == t\[0\] )"\ + "True" \ + "test symbol equality with itself" +gdb_test "python print (t\[0\] == a\[0\] )"\ + "False" \ + "test symbol equality with other symbol" +gdb_test "python print (t\[0\] == 123 )"\ + "False" \ + "test symbol equality with non-symbol" + +gdb_test "python print (t\[0\] != t\[0\] )"\ + "False" \ + "test symbol non-equality with itself" +gdb_test "python print (t\[0\] != a\[0\] )"\ + "True" \ + "test symbol non-equality with other symbol" +gdb_test "python print (t\[0\] != 123 )"\ + "True" \ + "test symbol non-equality with non-symbol" + # C++ tests # Recompile binary. lappend opts c++