From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id idkFAznY/GleuR8AWB0awg (envelope-from ) for ; Thu, 07 May 2026 14:21:45 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=qZeKs972; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id EC6731E067; Thu, 07 May 2026 14:21: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=-3.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,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 6354A1E067 for ; Thu, 07 May 2026 14:21:44 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EA6064BA7989 for ; Thu, 7 May 2026 18:21:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EA6064BA7989 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=qZeKs972 Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazon11011017.outbound.protection.outlook.com [40.93.194.17]) by sourceware.org (Postfix) with ESMTPS id 5104C4BA23E8 for ; Thu, 7 May 2026 18:21:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5104C4BA23E8 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=amd.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 5104C4BA23E8 Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=40.93.194.17 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1778178073; cv=pass; b=r1U6eCQwRF9eeMgXBPyBlWtm1NSwFx2q3IM01nFxGi/NLzuhBrWkZyg2pWlnJbHWfyue38+7lCzK5GQaE9vrde148w6uW3a4w2OOLFUI3ZMqlvdni5Md55O6IdH94mNLsoBgmJCZ7Wsi1CtG4YZZ0IzfPrqbQhUNBTIeou212ag= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1778178073; c=relaxed/simple; bh=lvXYY7PyYjCp9es1UZZDf7HbDKvERScCHxE3EDub/K0=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=ope75p4HKq0y6fDJNTeAk6vVJ0CEkcPhAE7kcQxy5muXOQLHiarrHMkYMm+SKyGwvB1rROT8qP5hzFvdgHCaQ6gq7qqgS8lbqtETsAa25htJy25dl11yP58wl7B1H6YdvdNsvu0jckznyu9Q/KwPYlvYjIvlRrDXnHMSiA70d+k= ARC-Authentication-Results: i=2; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=qZeKs972 DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5104C4BA23E8 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wLIqosw39xlxqpzdRpbqR2O/zaqcPstLz0Ny2aMhy0D0zkUQEvrJN739gR+EgtrVeabXxKA+GPAbA8K9S3VNXxQt49FBhKL5QFrh7huWidMTgKPiA8lMrn3wQpBW8uKQa0h6iP3cfYhyAuILWCj+JoSOLOUygiUkl+98p2h6PvhsyuuYVlezMFCSTtI9sc3qmk+1U6gbcGWQ8Fjz+f8ZuZsjoN9V8WR8rromWAP4YUtxSaWUkVNtB/QiA73oFj72ODjLpoEU4JTtRtnxKo4V4/P57GJGcPCRtkSO9LongC+zioG9BRjrJxENWJL0j3X7KE/7W+zBFHeGa3HTf4QOtQ== 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=yu9JwsfqgxoPNGYZieex/fwBxuAiJ/v1bN4//yyDFzE=; b=oD3jLDBt5fOid1C1qU8364hOjbQq/10vK1NgvsogWwQPGlXAyDhXqfxKSEVhAEU8OF3nORWgGaD9f25E02O3tzD7n0klqHp+g/bHgmBuk+QASO7GAxHgs2beGVdNC3lUWzb6SwAj/i3Bo/zAYGZABTAFxjPiu+lVy51rDvqN8pkG/XYAenYpaistezXi9mCBc7o1t2ZUrkh14b/N17NFaG6WUmwEZ0CFbd1ZzTQNB5Cyn+2sHhaV6dZrZBs0vLvsPd7CHK3CBREPlKociX/b1eiIpXSxWKn5P0vHaGoOcO2G8+ObkIkG6RshygeH0nrBABJ6dff8sofGaf/TZP+Zig== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=efficios.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yu9JwsfqgxoPNGYZieex/fwBxuAiJ/v1bN4//yyDFzE=; b=qZeKs9723zi5hodCXNxfkZbRwpghi6LV1/xPEu3G0jcQ40VnjIz23z8jKIi+bKRrm4QK+H9TcCUZoJLoTYoaBrp6zSm5TlpaKEvrIS8J43s+clJKdh9Ldv8nxdi01rN2/tfTnmnJQjEsK2VyOPqZwt9sM06SQtK1BANEs8ijVG8= Received: from SJ2PR07CA0018.namprd07.prod.outlook.com (2603:10b6:a03:505::22) by DS1PR12MB999189.namprd12.prod.outlook.com (2603:10b6:8:495::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Thu, 7 May 2026 18:21:09 +0000 Received: from SJ1PEPF000026C5.namprd04.prod.outlook.com (2603:10b6:a03:505:cafe::5f) by SJ2PR07CA0018.outlook.office365.com (2603:10b6:a03:505::22) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9891.18 via Frontend Transport; Thu, 7 May 2026 18:21:09 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by SJ1PEPF000026C5.mail.protection.outlook.com (10.167.244.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.9 via Frontend Transport; Thu, 7 May 2026 18:21:09 +0000 Received: from khazad-dum (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 7 May 2026 13:21:06 -0500 Date: Thu, 7 May 2026 19:20:58 +0100 From: Lancelot SIX To: Simon Marchi CC: Subject: Re: [PATCH 3/11] gdb/solib-rocm: pass reference to cache to rocm_code_object_stream_file Message-ID: References: <20251209193610.296085-4-simon.marchi@efficios.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20251209193610.296085-4-simon.marchi@efficios.com> X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF000026C5:EE_|DS1PR12MB999189:EE_ X-MS-Office365-Filtering-Correlation-Id: b8c40931-0378-4a6c-b538-08deac656967 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|36860700016|1800799024|376014|18002099003|56012099003|3023799003|22082099003; X-Microsoft-Antispam-Message-Info: lkuzPam5C4BySfRXhcUknVA+9X/Yq/M2ZYoydzMmoKDQbIqWYGn/JLBw6J0gTVKhG+B8SaJhYBagD6LCk1vIQJQ1xulGKxsWcpEIm35vNPLrtt0Wl2qBY+WJln66UU+eXHvUsnTetCbkDKM+joxykWn9m3zyjQP6dvt6Xne0LCDk0eBBq/A7lBPgm7rc1c0oQN3xc5/oHj5s+ecFle/L0D1Vl7++D6nCmm8cQgqsYXpA9edysZCrrnybjsF/yfgvFQV/5VucEjJngr5LgW1XPKvDNlrW1Ap84fYr0YPIQHktbKkSFvm9QDxW+6MZWgCRQWCIn0c8qQ7OnNPNTwkKUfKzBqR4e/Wx+LbCZMi3Bw8ULhwcoDklJpxe+zFsbqUWfvWLma16MkjHk0ZLj0J+IMTxler1+mZvYrTXoP7kjNJAEOSRJFIN9sAiDi/wQack4xKBQRdcA5ejpfHXAJMW4XrTPx+vXlt3PdPUNrlPCkJkDTjtPD7XtRvVR+AbgBrijVpMhWO1LxecEQAVrInCcUE4V04G96dGcyyZtmsxmQ65vNrWSvvGmaAkFxGSVmzPiLMNwtnX7Y3azMyJ43MsWlQ7/R+vPXOilc84zjiXAsrCmfhdok0lolmVVtkJqvO7UMztkPTaL84JqjN3MmqzIUswhr1kkObBID5FyED7YcbOrkpTAl9XmDW9qexm3SrU17XbGArGsFa6aIb6+Jhdkvllhuy+0z2WV544IJMZpno= X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(36860700016)(1800799024)(376014)(18002099003)(56012099003)(3023799003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: OweeFk5IbotozLN4zqAFh+O5VJBKiFl5oP8GT+jlbHxKIIZjOsEOXjLfl5fI1Ln6UIKY11BqPFcEjxGC6aOpmyn37g4aAeWFp1yh7N20QMU9/RO5x+dzxx0ZV5t7/ptMR7NPQo6wjovrdAu15iCa0CWpHZ3hjIG+FqDUI0DCKcI7kNKyOHekDbWQwYJAVaDSdYayGm1EsgZNEKWciUj+dNPW2VfM/1Wm1fYeKqATOu6PKcjwYMKkNCnTMx0v+bmJtQmUUrk1rTWQxEPe9vf7IUHE9R7GUVBWo91T/sMx2sCxCYqbsSYYavK1/wfSV85aNYAN37ihzJlXLzWzC3RvxGCQP3snmWKkcw7dhNTrgyHIrWgMb1lstFcfsPWCxDZXFt1M2+8UbuTiDzpqQzxG/0g8Frng6qIDIKaHn/tT8EoEUWtmWqyxP6bHVSA6dxLG X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 May 2026 18:21:09.1923 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b8c40931-0378-4a6c-b538-08deac656967 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF000026C5.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS1PR12MB999189 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 Tue, Dec 09, 2025 at 02:32:07PM -0500, Simon Marchi wrote: > ~rocm_code_object_stream_file obtains the fd cache to call "close" on > using its m_inf field, obtaining the per-inferior info using > get_solib_info. A patch later in this series moves the fd cache from > the per-inferior registry to the rocm_solib_ops directly. This implies > that we will need a new way to get a reference to the fd_cache owning > the fd, as it won't be easy to get it from the inferior anymore. > > To achieve this, update rocm_code_object_stream_file to keep a reference > to the fd cache directly (because the rocm_code_object_stream is not > meant to be copied nor moved, make the field a reference). The inferior > parameter and field are not needed anymore. > > Change-Id: Ia10f8f125840274e51e188cafcb7384fdff92240 > --- > gdb/solib-rocm.c | 19 +++++++++---------- > 1 file changed, 9 insertions(+), 10 deletions(-) > > diff --git a/gdb/solib-rocm.c b/gdb/solib-rocm.c > index a9573f8eefde..bde34bafd8b1 100644 > --- a/gdb/solib-rocm.c > +++ b/gdb/solib-rocm.c > @@ -360,8 +360,8 @@ struct rocm_code_object_stream_file final : rocm_code_object_stream > { > DISABLE_COPY_AND_ASSIGN (rocm_code_object_stream_file); > > - rocm_code_object_stream_file (inferior *inf, int fd, ULONGEST offset, > - ULONGEST size); > + rocm_code_object_stream_file (rocm_solib_fd_cache &fd_cache, int fd, > + ULONGEST offset, ULONGEST size); Just noting that this does not apply anymore, just need to change "int fd" to "target_fd fd". Other than that, this looks good to me. Thanks. Approved-by: Lancelot Six (amdgpu) > > file_ptr read (bfd *abfd, void *buf, file_ptr size, > file_ptr offset) override; > @@ -371,9 +371,8 @@ struct rocm_code_object_stream_file final : rocm_code_object_stream > ~rocm_code_object_stream_file () override; > > protected: > - > - /* The inferior owning this code object stream. */ > - inferior *m_inf; > + /* The fd cache owning this code object stream. */ > + rocm_solib_fd_cache &m_fd_cache; > > /* The target file descriptor for this stream. */ > int m_fd; > @@ -387,8 +386,9 @@ struct rocm_code_object_stream_file final : rocm_code_object_stream > }; > > rocm_code_object_stream_file::rocm_code_object_stream_file > - (inferior *inf, int fd, ULONGEST offset, ULONGEST size) > - : m_inf (inf), m_fd (fd), m_offset (offset), m_size (size) > + (rocm_solib_fd_cache &fd_cache, int fd, ULONGEST offset, > + ULONGEST size) > + : m_fd_cache (fd_cache), m_fd (fd), m_offset (offset), m_size (size) > { > } > > @@ -453,9 +453,8 @@ rocm_code_object_stream_file::size () > > rocm_code_object_stream_file::~rocm_code_object_stream_file () > { > - auto info = get_solib_info (m_inf); > fileio_error target_errno; > - if (info->fd_cache.close (m_fd, &target_errno) != 0) > + if (m_fd_cache.close (m_fd, &target_errno) != 0) > warning (_("Failed to close solib: %s"), > strerror (fileio_error_to_host (target_errno))); > } > @@ -608,7 +607,7 @@ rocm_bfd_iovec_open (bfd *abfd, inferior *inferior) > return nullptr; > } > > - return new rocm_code_object_stream_file (inferior, fd, offset, > + return new rocm_code_object_stream_file (info->fd_cache, fd, offset, > size); > } > > -- > 2.52.0