From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id IuEYJqEByWq1GiAAWB0awg (envelope-from ) for ; Fri, 09 Oct 2026 11:00:49 -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=pHcwn5hG; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=pHcwn5hG; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 79B051E04E; Fri, 09 Oct 2026 11:00:49 -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 CC4471E04E for ; Fri, 09 Oct 2026 11:00:47 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E92C14BA2E19 for ; Fri, 9 Oct 2026 15:00:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E92C14BA2E19 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=pHcwn5hG; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=pHcwn5hG Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazlp170100001.outbound.protection.outlook.com [IPv6:2a01:111:f403:c200::1]) by sourceware.org (Postfix) with ESMTPS id 5BDB94BA2E1B for ; Fri, 9 Oct 2026 15:00:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5BDB94BA2E1B 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 5BDB94BA2E1B Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c200::1 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1791558018; cv=pass; b=hMf5qrP94XYS+c5ZXqyUv+5iL0C7IRSWt/PEO8q8cVCneGCXyO80YjzIq2UvUg7mYQ8M5b4iTPQoWrLOOGjCcCuaeDUziavXEtWn/NTogExEYyu5WMf6+kUObat9BsdHgqWd2N3IKuxTXYcmmbacexJgiiteM8ui54ihx/QrXBI= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1791558018; c=relaxed/simple; bh=dBOb3KuqUUVzrxDm2VGTLAGMLuHUTETJP3UzTlo5uqg=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=EZgwVl9ALvJ+LQZeHRvxpusV9RUg3y4PUS2/dfH2avCyBWq8Yj0kQf8Joyk4K1vIhU+smMAgdsgmm8xKXBPtZ08RvGbbGMpnsgY9OyXwrtXb8sFq6PiBSmqNzIjEggJvzCOLzPigobxLUhdTfMeYWc3uDa4vAlyUYjVT/bCnks0= 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=pHcwn5hG; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=pHcwn5hG DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5BDB94BA2E1B ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=BSwHkE8hWYk5Gu7/F+nZNSKrJ9pQh6cg9kdbLYIX3XU4p+x6Z8AXuRrfSVrv76vCFrliWMOF3VDfUdoBqHZ+SlEndP3dpawgTKFziEqRscIKQ0LrDDdBaXFDa8u97BYwopOVQKPf4caZRjtr8Jrzs8jUtHyIz7FtyLBE/0DEWhppH3jB2I/7uIpd/adrkMoDynpgLv6hSPlLLzKcGjO+JTNXHhLhu9DakH9/phTW9sVzeW6VY1qOzF8iTOCnbAxYmS5PCadtRubCgvuzkZqcL4Xp2eojKqneRjtDUmUi+mtYvUjFQrqUQ6Nb+gBfKUfkClS1um5gsTmmCBxAGf/bBw== 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=IhfblZToy4EhEKLXCkKmUwsc8E0qC7qmut0YVkKSpLI=; b=izs+01ZijCAcFchJB+a4ei/uN5RkkyMzqeSK/UywbKPaRLWjyRqEN+h4u/XhHVS9qo90dt77wgOc4zkPI9DkV7NmkrNhUpM1dEGPlNbm6KiVJC25Vv/dyCCqRl/EyFhuusuiIpdvNbI6KZAZrrkTeOcNY+Ij6XjonnjwfDPH6/WpER/4re5ubxmB62p3tozGFrl2VwAU2RC6l7wLkg3TMjZOvKsqMjHH4NpXpcrQnPr5hCNyzcWDzD/2QW6j5MXmwbGYDyZJsJGe1lvV+BXtiMc4vqrNlX+5VP91PW6tKhLsgmD3wXr15G+CCHD3Gc8fyLzpPAMAwgE1/+zG5fjhgw== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=sourceware.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=IhfblZToy4EhEKLXCkKmUwsc8E0qC7qmut0YVkKSpLI=; b=pHcwn5hGIUmW+ZQF+ONdRYOeRZLjWm4TnaUCZ0Fgu+JM9jBqbnfCB0aVzCbqIP7jP8zQiO3sLQa1q69h+3TCTwuLUoQrP6RgKi3bHww7Eg+Alo3nE/EdqtWAp5Y2pmcPlqlGN6nykH/LPsNXEtVTvpbRGDbB59i5Av+sASrhTGQ= Received: from DUZPR01CA0062.eurprd01.prod.exchangelabs.com (2603:10a6:10:3c2::15) by GVXPR08MB11094.eurprd08.prod.outlook.com (2603:10a6:150:1fe::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.522.5; Fri, 9 Oct 2026 15:00:12 +0000 Received: from DB1PEPF000509E4.eurprd03.prod.outlook.com (2603:10a6:10:3c2:cafe::d) by DUZPR01CA0062.outlook.office365.com (2603:10a6:10:3c2::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.472.21 via Frontend Transport; Fri, 9 Oct 2026 15:00:11 +0000 X-MS-Exchange-Authentication-Results: mx.microsoft.com 1; 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 DB1PEPF000509E4.mail.protection.outlook.com (10.167.242.54) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.522.6 via Frontend Transport; Fri, 9 Oct 2026 15:00:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UGTRmUlFbhzorIiV3W+uCFQzF2P+AecBTQkEnXMAE4B198v3w0Y8PbCtzos3afNRw9sSWfoGK2jbKXgYGFXMGh2bhG/8rw2DUdl5Y1hHRSsGKYwRN8E5WW/hR+36EE0jn8/662OA0wls05rQAxX3kNd++3vVMPpyPnRFK1tUjPhxO7u3clXC+ZkDQpQYpXu2GOaQEmf4UDDhjxAV/2zKgHhBJTtmxv4YneK5/BIpcQ1kOqXQk5lLjSr+7bE1l5rpuqhN7SUmCADDIBNkZMf26gM1jJvlKWGCfdADmSCNeyuTyU+5RLaTvY/A14zgxh4OemqrJH5AxoYHHxyVgWw17w== 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=IhfblZToy4EhEKLXCkKmUwsc8E0qC7qmut0YVkKSpLI=; b=cGUpqOxz7V6FDjQev7mTg4NXPY7WPSIlMHLwZ9drOEEiX75u/76sWE8Lmy7UYGMsya9P/eYSsV0tZohc/PKox1rw3WziFCP3+OQNzYzh70SHs8pmlj3xzSZReSilpfZn2pVdmUnHGHcd1ixOgiAok7AV3/+xeWVK1FIeEXW++oJNGxNR7y9i7K6m/0O2OiwSIDNLKNdu/osmNoFg3/xLUHAtFfN/5gWhiMKqAXwN1C8Rduo5NmjU88o9iggK9dWCa4MQwLcbDLH4Z1hIMRpTywsIxwCRw0l/rbuSiBmSBAkuWhXGmSPOgG177xMndSHruvGUtl+XySORDDqxUjCo/Q== 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=IhfblZToy4EhEKLXCkKmUwsc8E0qC7qmut0YVkKSpLI=; b=pHcwn5hGIUmW+ZQF+ONdRYOeRZLjWm4TnaUCZ0Fgu+JM9jBqbnfCB0aVzCbqIP7jP8zQiO3sLQa1q69h+3TCTwuLUoQrP6RgKi3bHww7Eg+Alo3nE/EdqtWAp5Y2pmcPlqlGN6nykH/LPsNXEtVTvpbRGDbB59i5Av+sASrhTGQ= Authentication-Results-Original: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from MMZPR08MB432554.eurprd08.prod.outlook.com (2603:10a6:190:4f::17) by DU0PR08MB8809.eurprd08.prod.outlook.com (2603:10a6:10:477::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.472.18; Fri, 9 Oct 2026 14:59:37 +0000 Received: from MMZPR08MB432554.eurprd08.prod.outlook.com ([fe80::c446:154a:e347:29e8]) by MMZPR08MB432554.eurprd08.prod.outlook.com ([fe80::c446:154a:e347:29e8%2]) with mapi id 15.21.0522.002; Fri, 9 Oct 2026 14:59:36 +0000 Message-ID: Date: Fri, 9 Oct 2026 15:59:35 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 0/8] gdb: introduce file_reader_t to read procfs files To: gdb-patches@sourceware.org, Andrew Burgess Cc: Tom Tromey References: <20260922135050.236941-1-matthieu.longo@arm.com> Content-Language: en-US From: Matthieu Longo In-Reply-To: <20260922135050.236941-1-matthieu.longo@arm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: PR1P264CA0055.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:2ca::11) To MMZPR08MB432554.eurprd08.prod.outlook.com (2603:10a6:190:4f::17) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: MMZPR08MB432554:EE_|DU0PR08MB8809:EE_|DB1PEPF000509E4:EE_|GVXPR08MB11094:EE_ X-MS-Office365-Filtering-Correlation-Id: 54993da8-dd03-45b2-5f0b-08df26160459 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|1800799024|23010399003|366016|376014|10067099003|11063799006|6133799003|3023799007|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info-Original: ybFafSoWi/afHCyoKe5oSKrCQokphOYe66R3XrR2rCFwym3SkuXazAxdqCDXVlz8bWSbQRzpkRrnwN/Hy4587M03J1KJ9aSFmmaolZ5srjsb5heRXdxkVvS4OErRB/eGyT0hKDhKvH6vCT+KvNDgdyrYjCpYK0FtSz8JUZ3j2ffaKMTmLzvuDqoovcqEsSeQCdxcBJyaA6c8dE6KsDQYuit95yWVBWZTuUH71t49vWsK7IYf3C955oJ55P+LmLTdaPnzjWSdwHDeLuJ9Svsw30pzu6MBRfoKXFO1FLhr2VxZhQdfp8Bf4Busr++a+NeeVAkjf590u5Vuo3lsyAv7fRZAxw/pQbmbHMmnR9xIgbJ/bGfY723ct7Le89tgaFzod2EEFoqC+16WB0VzsFVTaLhxYVX9hhm8pCC4F6gtP30WpTqdJiZ1yjHBa8qIUAdjc8FVxR9Vgw4IQ0v4w2Xl/ufPWoJSMPvKwEWDmZnIh5xfJk0BuKIaUJlG1Gq4ZnGe9Id+pZWc6fsP32mN6W8Abouk1r4Y7FuM1zy5GnWhxcp+yHllTkZOzolAtv0y94B/CooBir6giAC5hZrvaDDnNfKXxMWvMs0Pf7CZCrpsISnZJ06JZyZVyb/vSlAWgt2p X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MMZPR08MB432554.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(23010399003)(366016)(376014)(10067099003)(11063799006)(6133799003)(3023799007)(56012099006)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-Exchange-RoutingPolicyChecked: 3NUjDp1v+SIGhP1paY0GLU1IlUvWbY1xOaOE2Xt4HgSabStPLzcADFqikas8iR4ZQqPr1J6WlMC9CgA3wmIP1uGj0AOXze5MEuTNvfAyUv1oJQSmE7Q4A6GWSmRSH7eUMMHRjd+5yaa22afucPcpQf6YaW1J1MiDMjVob/eTzlahV0+o0m55E5bcrD8ghsBb+a0A0WjBkM6RgM0b60jQSrnvMgeXmaptpCRQrZnLAbqfZ391iLOeXyDnoXz5l0F/PMyaExPdjjKO6quPMhJy8Y6LdCgXydMrGepZnpw2VApt7p3FBGmano9S7cR2tL3+ZPpoKPLja8HNOYLsfY4l3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8809 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB1PEPF000509E4.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 48b53ca0-e0d5-4f0c-7e0f-08df2615efac X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|36860700016|1800799024|35042699022|14060799003|82310400026|376014|11063799006|3023799007|10067099003|56012099006|18002099003|6133799003|22082099003; X-Microsoft-Antispam-Message-Info: r/xKqaoPetliz1PGqVklORTcF5ED3wfZ4KaLYgiKuX+Onj6JpIQbpedg6IsK51QvzjCZYKS9CA6MmAo4ZSG3tzc/P5YsrcPJxLAmvltu5OMqqSJrjOzDsmWnFsVzCxPujXPUKFv57FGHrP9DVFOqsxhJOWp1vH+ymBP6zqvnNUxb0Nasxtb5Jq/OWZCYynXJPwBWG9FandYS8PZT/iMFPDx1SzJa1X6fMeANUPbmgfb2JN2J4/7jaew2nrvRh64L9m6QaFN1NTiaBHOT8lLLuxsGuvg+YXz2YrgMaNkBZ8GtnDFUwDbPH+o6W2nTuKf2WRMBJQUYpE2dU5TFXFdUFv6m/+9yxtXzG1j8iR359XOrRS9/OabyTE13kE+oOhoDurwEqWdoeKw3ntxuBSdtb60fYb3zHGl6e1rqBR0akP8B9BtfzhL0u9NjOJrV23W0RYX7tE7La1hwv58IN0XhtUTF+hpo4yucbMw9RzwAPTqFrHGkM9ePP54/Kzm1zUJhsgA7evUFV37whqWoM75+wMxu8R7lsSIVS+V34zQxopM2Qpwj71CkzsLRdAAQ6Scu5L0To7HPrOE9rgCB2L/xx5Gq8MElc9j728gBSQsVDzIBnch3NsM4sTaQ/1n5f/67hUM8HyolxOaXHqy8YSb0jXgQzxaHSILpTjBRqMHXiYI= 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)(23010399003)(36860700016)(1800799024)(35042699022)(14060799003)(82310400026)(376014)(11063799006)(3023799007)(10067099003)(56012099006)(18002099003)(6133799003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gYnGMCCGPmmEE9y+ZTbLWxy/Z1hDyZ2bBCtIBFoEUTAWZKBdvuU0noFzB0b31JFeMmXOaXeuQ6gg39s47Y5CAet+tIpn/gkN5YEe6qBPIysvecHmJ/RZ6z+60oc6m87XmMEc3Dem2Mptmovk6omzm2WVHZ7TKSGZCkeJkQuI9a7cHdUc7PkR86jz1+0YzamrkfO0s5IPeZ5aQpSmHkb6TGZWyQS5w+jOhbOuq0LrHJoN59/KudeeNRzprzFMtqzWhEqr1JhYE5UJna+TZ11IrXH6pvuqZxsWpxANMqLHv5HjqVTgQGJybI2b8+zlRHmLno4kOQmmldUpcDCCdy9wzsqR0fGBJY1//iGtdGpVBP2F4zxFfvZxO1eSKVX2X79N/w4XMxtfj5P7sD/Bzd15hLsoJXwIqT2y+3iiYoHF/i852E8HXmuM+oELSDH3k9VS X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2026 15:00:11.3010 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 54993da8-dd03-45b2-5f0b-08df26160459 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: DB1PEPF000509E4.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB11094 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 22/09/2026 14:50, Matthieu Longo wrote: > This series introduces target_file_reader, a helper class for reading target files, and migrates existing /proc file handling to use it. It also refactors the /proc mapping parser to operate on bounded views rather than NUL-terminated strings. > > The series is organized as follows: > - Patch 1 adds gdb::ranges::replace, a C++17-compatible replacement for std::ranges::replace. > - Patches 2 and 3 contain small cleanups identified during review: removing redundant struct prefixes and styling /proc filenames in warning messages. > - Patch 4 adds extract_next_field, a helper for extracting separator-delimited views from a buffer. > - Patch 5 refactors /proc mapping parsing to use gdb::array_view and extract_view_from_buffer, removing the dependency on NUL-terminated strings and strtok_r. > - Patch 6 introduces target_file_reader, which encapsulates the contents and path of a target file and provides convenient accessors and typed views. > - Patches 7 and 8 migrate existing procfs parsing to target_file_reader and remove the now-obsolete parse_smaps_data interface. > > == Review status == > Most of the patches have been already reviewed once by Andrew Burgess in v2, and others reviewers in v1. > However, for clarity: > - Patches 2 and 3 are new but based on comments from Andrew Burgess in v2. > - Patch 5 contains new or substantially changed code and require more attention. This rework was triggered by the discovery of a bug in patch 4/6 in v2. > > > == Changes since v2 == > > v2: https://inbox.sourceware.org/gdb-patches/20260825100912.514232-1-matthieu.longo@arm.com/ > - Renamed extract_view_from_buffer to extract_next_field, and add unit tests in selftests. > - Refactored /proc mapping parsing to operate on gdb::array_view instead of NUL-terminated strings. read_mapping now parses bounded ranges and diagnoses malformed mapping fields. > - Split the cleanup removing redundant struct prefixes from smaps_data, as suggested by Christina Joos and Andrew Burgess. > - Added filename styling to /proc warning messages, as suggested by Andrew Burgess. > > > This series depends on: https://inbox.sourceware.org/gdb-patches/20260917201755.589524-1-simon.marchi@efficios.com/ > > Regards, > Matthieu > > > Matthieu Longo (8): > gdb support: add gdb::ranges::replace algorithm > gdb/linux: remove redundant struct prefixes from smaps_data > gdb/linux: style filenames in /proc warning messages > gdbsupport: add extract_next_field helper > gdb/linux: refactor /proc mapping parsing to use array_view > gdb: introduce helper class target_file_reader > gdb/linux-tdep: use target_file_reader for procfs parsing > gdb/linux-tdep: remove legacy parse_smaps_data overload > > gdb/Makefile.in | 1 + > gdb/amd64-linux-tdep.c | 12 +- > gdb/linux-tdep.c | 406 +++++++++++++------------ > gdb/sparc64-tdep.c | 17 +- > gdb/target.h | 116 +++++++ > gdb/unittests/common-utils-selftests.c | 32 ++ > gdb/unittests/ranges-selftests.c | 63 ++++ > gdbsupport/common-utils.h | 50 +++ > gdbsupport/ranges.h | 39 +++ > 9 files changed, 530 insertions(+), 206 deletions(-) > create mode 100644 gdb/unittests/ranges-selftests.c > create mode 100644 gdbsupport/ranges.h > Ping ! Regards, Matthieu