From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id IcZPLgYeVWoWcQYAWB0awg (envelope-from ) for ; Mon, 13 Jul 2026 13:19:02 -0400 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=fuAVAntA; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=fuAVAntA; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id B8C441E033; Mon, 13 Jul 2026 13:19:02 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.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 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 0D9521E033 for ; Mon, 13 Jul 2026 13:19:02 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2D1374BA2E1C for ; Mon, 13 Jul 2026 17:19:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2D1374BA2E1C 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=fuAVAntA; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=fuAVAntA Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazlp170130007.outbound.protection.outlook.com [IPv6:2a01:111:f403:c202::7]) by sourceware.org (Postfix) with ESMTPS id E12DA4BA2E08 for ; Mon, 13 Jul 2026 17:18:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E12DA4BA2E08 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 E12DA4BA2E08 Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c202::7 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1783963114; cv=pass; b=Utdq2eHP9OHL8cIm4YQy8WOokw9Y6go9V1w+8+40EdklUVpHirI28tVQHVGD0xSvcDnZKBW2ey4EfynMhOWoWc5rR1xqJHIhcEwvYCdVq7Ler0rBjSywuXdiL5+if8hiIfOHAzGtx/O8619mFXVjlbxjxEjFH/ybzwNbqdY7uR8= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1783963114; c=relaxed/simple; bh=dx7hG0JcO3YV8FjDn5BYqBoI3dQrgXKsXoW9TlY7u2w=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=pwKZa75d6s4Y8fcBm37S+9iVM7fWO5/qHY5qSH4D7NPKufA41vIBmbzFiJltbD9fdU3p3eCofcK4b6TIIE+R4lLNDGcdU/cQPwDh7XUfyeu16XXXS8lWjgvUz0Ze/pxxK6tNKCsZPLLeZC/ZFTcQc4hp+zeWgyAEwhumHuzHtnU= 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=fuAVAntA; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=fuAVAntA DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E12DA4BA2E08 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=lMcJG3ARZ4RVJh/fvlr+uhdH5bridm+tRlgQjdwIE/QXGpCaAO7Wbqbu3n2EGNfgxZRw5L555xJgX70TI2bbiIT8BSZJonHES2HYmcDvHoIxvkHKd73L/9sLL6REMjts8Dn0TwkhJDNSopAMf1RKg9jlc2yqDqhGmKIgady5DjzCE85FGvgxetrHOTisrux2ALbv5cEDfm8FmzIs8OktjBMpVV4fC+HGR4Sn2pZ6G7OhxeC9VtgiCYicVhrT8sCehnim4JItNIbVJcORVk0/UIiqHOF+0QO/mUb68joa1SWAs+JSokbNFRVZGNHVeQpThvX9lmCpnpmKOnS30Sfwpg== 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=R/JKQzQbMN59GKZs7wAmyckvNPGETv9yX17m102zrl8=; b=mXV47uiWjlYeD8iN7fepbhMx9NKZCS85vQD7PoJVKB3jeJVQjV6yHi73Y3gnYbguCtqCCpMK1m1il+r+W2uzvUZwCswcXP3ZVlX+Al6Vy82WuWbSqXRKV0A1r0fdsBcXkOTjjsFzEqyT2rdqx4Km2drG5skBIbwCZd+yx/t+e99+L1ewoXkSpNO8L3aAUPXwmRQ3fUFRPOq3OkrT69Riw2hqbatFPst8kR6vRBZ3pt/0I8aLH5Yn74ux5/nrxl/XaUO+vlkZN/u/gP0lkhYnAzyMeF4HDbGC14WfYRNmLKi2VZ2wnBUOXlcc0KtZSxHXoXSY0p7OGMkwEJVgvk/ixQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=linaro.org 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=R/JKQzQbMN59GKZs7wAmyckvNPGETv9yX17m102zrl8=; b=fuAVAntA3vVRjymhdTij42pT5+6HQLu1HImZk7wihJlkifc3Hl6TYGomWqnbHp0KciEKlO6ValYECVX+ap2VCc8QQQ5c59XSQORR+iS+XLKZMXkUZHqUM3F5hIGr81VdkMVxgBIQdTI72Ag8jLZdqT9A9vruhladyS1q9UvzDFY= Received: from AS4P195CA0022.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:5d6::10) by DU4PR08MB11790.eurprd08.prod.outlook.com (2603:10a6:10:63d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.15; Mon, 13 Jul 2026 17:18:30 +0000 Received: from AM1PEPF000252E1.eurprd07.prod.outlook.com (2603:10a6:20b:5d6:cafe::73) by AS4P195CA0022.outlook.office365.com (2603:10a6:20b:5d6::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.202.19 via Frontend Transport; Mon, 13 Jul 2026 17:18:30 +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 AM1PEPF000252E1.mail.protection.outlook.com (10.167.16.59) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.223.9 via Frontend Transport; Mon, 13 Jul 2026 17:18:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kUGsnp47/JaQoWdZTABtjCW2RJK3eeaAEAhyASrD0ndZPRvhqM/xVVlZMhwD0/f3rBmfaa0j0GOFb6e9qfxQSILOxNRxl0bC1XTxYs0WxRQNxpFVX4PSNpXQ69wY8AsYAI+OfxK9Z6nf+bbkFJzkmyA43xDjH9APCyFsAH8cL9YdPm5PrM1NGEM8J7PNbwafOIdo/HeRLauEFv+CAOE7YIcUB68t1ljDRhOprgD+plSBn6YydKua2uVmnXqGxgfwe1MiIdzhs6KOmKGBK1tcrHSPWvopFMI8Tqd0oV4ARtUy6Fj0QU8THEjETXd75nsWMbGofrwWx81N99YQnrFBzw== 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=R/JKQzQbMN59GKZs7wAmyckvNPGETv9yX17m102zrl8=; b=Hnz7vQB7W4ct/CVCu54VHNiT0Lo2SGib/2c6v7sHJAQoFltPOnNY3DYueivu5Ji4GEzzvkzreIjCU2wPuA/GPXnZVvZHhQnjSaJt/Cz1LdG3RyjVVhA6G2l4ZVZwIvxDDURAtQYW4fxfD2GVxy6T+Eei/sllt3mcXhWny8KvyJDksZxwAS9Wdqpn2MMI0AW+ACihRXE6qwrqMGMxqLKtuSyj2JzPBsOuZTpUlDD1ImM06ak0r1DXhQjYNlMvpl6osWvSqU+f7xlWFSvZNeAU8Y6H82pVAdpb1amHvRfWLPwd70NGC5BqNMWAEBcaqOlYvEKPap0Xpp/Og6XDTj/TIA== 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=R/JKQzQbMN59GKZs7wAmyckvNPGETv9yX17m102zrl8=; b=fuAVAntA3vVRjymhdTij42pT5+6HQLu1HImZk7wihJlkifc3Hl6TYGomWqnbHp0KciEKlO6ValYECVX+ap2VCc8QQQ5c59XSQORR+iS+XLKZMXkUZHqUM3F5hIGr81VdkMVxgBIQdTI72Ag8jLZdqT9A9vruhladyS1q9UvzDFY= 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 GVUPR08MB11931.eurprd08.prod.outlook.com (2603:10a6:150:348::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.18; Mon, 13 Jul 2026 17:17:28 +0000 Received: from AS8PR08MB8659.eurprd08.prod.outlook.com ([fe80::96bf:2de3:5eab:70ae]) by AS8PR08MB8659.eurprd08.prod.outlook.com ([fe80::96bf:2de3:5eab:70ae%5]) with mapi id 15.21.0202.014; Mon, 13 Jul 2026 17:17:27 +0000 Message-ID: Date: Mon, 13 Jul 2026 18:17:26 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1 05/10] gdb: introduce helper class file_reader_t To: Thiago Jung Bauermann Cc: gdb-patches@sourceware.org, Luis Machado , Luis Machado , Andrew Burgess , Yury Khrustalev , Pedro Alves , Tom Tromey References: <20260707154900.94542-1-matthieu.longo@arm.com> <20260707154900.94542-6-matthieu.longo@arm.com> <87bjcg1xl8.fsf@linaro.org> Content-Language: en-US From: Matthieu Longo In-Reply-To: <87bjcg1xl8.fsf@linaro.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: LO4P123CA0411.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:189::20) To AS8PR08MB8659.eurprd08.prod.outlook.com (2603:10a6:20b:563::10) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AS8PR08MB8659:EE_|GVUPR08MB11931:EE_|AM1PEPF000252E1:EE_|DU4PR08MB11790:EE_ X-MS-Office365-Filtering-Correlation-Id: f9ba8673-e116-44e2-f60f-08dee102c28e x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|23010399003|1800799024|366016|376014|56012099006|4143699003|11063799006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info-Original: WHmxEcaQeXg8rVJXShvtdYP3QujEEB7Id+obmfvif+ifhYMt425e/vwO/EmkxpvfxgV4IAF5R2ttIesWcX+0YNPX6RVgQzaxmlfret5oE47RGHj9KRy0JFrT/8eAGoC3bBDCnahor553/5u9Obn1Gub7WvP4FZmMZUFXDCyP3Yc5ts4pPgfh7NgoIaXTfE9ZrCIZ9uZTIRXswvrh9WsgfcauCLTwZ/r0AOBg1mpZJOkqwlkG2K0At++9VGVTk+KM3kUMdHGBPGzA/+3wlwzw07OETLY4F8slfbJYpqMWxwwgHwGgAm1I+BUgkIAUKOM5/xTyLsUIPtHm3lgHfAZ2tlzDYlrju/MW9Xe220pHjjpdvFGg2t6gKh53IUwL6xem0g/iU0hFlIzhnkBwoyXcf80CkDsVjN8paHP5djDMp+iHCP4l6qedCs61GEfBuW6wuoBcuMcb4BIniYLMPlUKyvVSTQ3wBWqiYWRyQkyW9k3esBof316wmMgMJArTcAOtuBK3upky6y7kz11tc/ZH8zGnFJOALIYufY0qVxu3qf0TPxOw+I/OiaaZbo4/OmdjRwe7S78jtVQuFkKxY4iMAt1lqOBCE7sP1mgKrAcu0d66lVwvZt81jHfibyCxY1UuQkdHrOc4IsYPYAl3awgxA2ndhFPgYJmiyxzUax7oFIk= 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)(23010399003)(1800799024)(366016)(376014)(56012099006)(4143699003)(11063799006)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-Exchange-RoutingPolicyChecked: ZH5FyKwJEgF3tuQINqPKHOA9lG0aVf8waqcpMgngy9KDAGzmoUq6/sbMJIMgErrUvoXCalH8K/ICs+0DtJO4ZJCqvT0t3qO1Aww4Tmx9+lTFCAyRgdm7Ukt+bNAOvgy3qaIS3Jx8PDGRLAnNA4FxB2O2tkZnmwxvcukCX2sejQ+ik3Yt1j8XHBaccW8+ySExCcY/uPgGOoyNO2dso1gwyeZiFEcaGgxZMSC+RAq0Z0hh4cwiVQmug/TxrKNnH/lNdhHeVMu9Un16BhVMxWp8ky0V2LAIYSqvqVNFrjYVGGIytAF+V3mlL8PwHTmZjcMzyyVMI8wzJLXwwMuaXcklcA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVUPR08MB11931 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM1PEPF000252E1.eurprd07.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 5b409674-3652-4308-42c7-08dee1029d2b X-Microsoft-Antispam: BCL:0; ARA:13230040|35042699022|23010399003|82310400026|376014|36860700016|1800799024|14060799003|4143699003|11063799006|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: ErlYpxm+0OaLJ8mGla+cKPhR6/zu8v+a3X1IKHI1uxZM8sGyclfG+lyzOupUGgLK4ZDB9dr3p/VplQ78A8sRG85hdcMmXHWAurFCwLFAl3jP7Ux8t93zGnMXP70Wlp8bgJZhDxETSylO6fMakPLPKK0gES+j2Unk0CRaVR6Lu0WNlLgiYOyXvyzFLhE1h7Jt0cIewoMDFJdoMxc9CGFDGAloHiHLkF4nYHAwSKe/lAcoMcZco7QXvd+A7jwCnt9DgUJpY6Em+Ny6comTGYXsSKKci86gRaUKkmxOoN+7TjW2Shiuwle2I7m/FEBl0uuNKdYbWDdre+IeTLhkyG26zMwffTWtIZgX6PeW7++IYKHEBvxgL0vtxaj2iUxMBaOvA1Jx2N0KYfpUi2jGmCVoMLX0YjEqE/SgYI4lJTU/OAr3BBSll6D90NJySinpJu9E/KXxSq1sbXOOz0FLHzh890kzAstaIzzvqV0iWuSZpS++tuhr0I3nAbwOvTGaHTDYiOIql45fKC4oTK7LYUde7o01vWw3W5fz/ta40rB8AN4PZ3rHsZN24UdsT0MKOhiQqIpNqaVMt5xNXgS8dJp3gCC0NxuNua9idgRyBK7BwPkWibk6GH/95I946VZunvZMo+7jC7hrLzLSY2AwoXltyTmlgeyTVBfmOZ98FS82k2q2TNWp6uWTwKwYLV8J0QjAXqaLVH3tGdPAeqWTLV4MKA== 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)(35042699022)(23010399003)(82310400026)(376014)(36860700016)(1800799024)(14060799003)(4143699003)(11063799006)(56012099006)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: MPM/mKOIOqqfp0uj0WoHzSAtoCgqy8jP9fzfqFtF+xoNsaNWJAEmZqj+iIoHfi28H3BVJVD80jOm7k+/31HsD+7+Z100ANfC7S0ba3Z4v8yD6XdrRzKBDEQiSujol6MJi8jjIxrHOkpSh5CtdMlMpobP0i3VuNtVIbtvBBEeIKbUaVNcOU4FQXhMeHTc/owTYPT+N4LLD0qCa0iEqyHBk9tTWVJFttcA4TuVedQxRSxMuen1Crhu0qYlm+Qne/Gr2Qx1ZvqhO6pPLWfy52kCVo3l4FDCUmNjA75kVxaXeRcGPfOJvXLfvgCj96tlS/YB5jVZcl0dXmlW4SeYX19s3ESNumT5mADGdnEVGNgRj41tDlcLzM1AthaQP9R4R77G3p4ErbM4W9DJTGOhCq57Z44OGySYz5gDfSI8o08h1djfychIKNZD0laG+fXJ9dpM X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2026 17:18:30.2551 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f9ba8673-e116-44e2-f60f-08dee102c28e 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: AM1PEPF000252E1.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR08MB11790 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 09/07/2026 07:33, Thiago Jung Bauermann wrote: > Matthieu Longo writes: > >> Wrap all the boilerplate code required to read a file in a new helper >> class: file_reader_t. The class owns the file contents together with >> the file path, and provides convenient accessors for the data, size and >> typed views. It supports both null-terminated text files and binary files. >> >> This helper eliminates repeated calls to target_fileio_read_stralloc >> and target_fileio_read_alloc, remove explicit memory management with >> gdb::unique_xmalloc_ptr, and simplifies the casting logic when working >> with binary data. >> >> The patch converts some of the existing Linux, AMD64, and SPARC code that >> reads files from /proc to use file_reader_t. >> --- >> gdb/amd64-linux-tdep.c | 12 ++--- >> gdb/linux-tdep.c | 102 +++++++++++++++++------------------------ >> gdb/sparc64-tdep.c | 12 ++--- >> gdb/target.h | 65 ++++++++++++++++++++++++++ >> 4 files changed, 117 insertions(+), 74 deletions(-) > > With the changes I suggested below: > > Reviewed-by: Thiago Jung Bauermann > >> @@ -2285,23 +2280,24 @@ linux_fill_prpsinfo (struct elf_internal_linux_prpsinfo *p) >> >> /* Obtaining PID and filename. */ >> pid = inferior_ptid.pid (); >> - xsnprintf (filename, sizeof (filename), "/proc/%d/cmdline", (int) pid); >> - /* The full name of the program which generated the corefile. */ >> - gdb_byte *buf = nullptr; >> - LONGEST buf_len = target_fileio_read_alloc (nullptr, filename, &buf); >> - gdb::unique_xmalloc_ptr fname ((char *)buf); >> + file_reader_t cmdline_freader >> + (string_printf ("/proc/%d/cmdline", pid)); > > I was scratching my head for a bit trying to understand why not use > file_reader_t here and avoid having to use cast_view > below. I think it's worth a comment mentioning that it's because cmdline > has '\0' separating the arguments. > Added comments for the next revision. >> + if (!cmdline_freader) >> + return false; >> >> - if (buf_len < 1 || fname.get () == nullptr || fname.get ()[0] == '\0') >> + /* The full name of the program which generated the corefile. */ >> + gdb::array_view cmdline = cmdline_freader.cast_view (); >> + if (cmdline.size () < 1 || cmdline[0] == '\0') >> { >> /* No program name was read, so we won't be able to retrieve more >> information about the process. */ >> return false; >> } >> - if (fname.get ()[buf_len - 1] != '\0') >> + if (cmdline[cmdline.size () - 1] != '\0') >> { >> warning (_("target file %s " >> "does not contain a trailing null character"), >> - filename); >> + cmdline_freader.c_filepath ()); >> return false; >> } >> > ⋮ >> diff --git a/gdb/sparc64-tdep.c b/gdb/sparc64-tdep.c >> index 93db3417a2a..811b76f27d8 100644 >> --- a/gdb/sparc64-tdep.c >> +++ b/gdb/sparc64-tdep.c >> @@ -305,14 +305,13 @@ adi_is_addr_mapped (CORE_ADDR vaddr, size_t cnt) >> size_t i = 0; >> >> pid_t pid = inferior_ptid.pid (); >> - snprintf (filename, sizeof filename, "/proc/%ld/adi/maps", (long) pid); >> - gdb::unique_xmalloc_ptr data >> - = target_fileio_read_stralloc (NULL, filename); > > This change leaves filename unused and I get a build error when using > "configure --enable-targets=all": Thanks I didn't build with this flags. I will from now on. > > CXX sparc64-tdep.o > /home/bauermann/src/binutils-gdb-wt-2/gdb/sparc64-tdep.c: In function 'bool adi_is_addr_mapped(CORE_ADDR, size_t)': > /home/bauermann/src/binutils-gdb-wt-2/gdb/sparc64-tdep.c:304:8: error: unused variable 'filename' [-Werror=unused-variable] > 304 | char filename[MAX_PROC_NAME_SIZE]; > | ^~~~~~~~ > cc1plus: all warnings being treated as errors > make[2]: *** [Makefile:2100: sparc64-tdep.o] Error 1 > Fixed. >> - if (data) >> + file_reader_t adi_maps_freader >> + (string_printf ("/proc/%d/adi/maps", pid)); > > I'll just note that this patch changes the printf pattern from "%ld" and > "(long) pid" to "%d" and "pid". I think the change is for the better and > I can't think of why it was done the other way before. > >> + if (adi_maps_freader) >> { >> adi_stat_t adi_stat = get_adi_info (pid); >> char *saveptr; >> - for (char *line = strtok_r (data.get (), "\n", &saveptr); >> + for (char *line = strtok_r (adi_maps_freader.data (), "\n", &saveptr); >> line; >> line = strtok_r (NULL, "\n", &saveptr)) >> { > Thanks for the review. Matthieu