| Message ID | aa2270f65856fb5d4fbe417241498efbddccb3b7.camel@espressif.com |
|---|---|
| State | New |
| Headers |
Return-Path: <gdb-patches-bounces~patchwork=sourceware.org@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id DBAD14BA23F6 for <patchwork@sourceware.org>; Tue, 24 Mar 2026 12:52:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DBAD14BA23F6 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=espressifsystems.onmicrosoft.com header.i=@espressifsystems.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-espressifsystems-onmicrosoft-com header.b=PbP8zlyD X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from OS8PR02CU002.outbound.protection.outlook.com (mail-japanwestazon11022127.outbound.protection.outlook.com [40.107.75.127]) by sourceware.org (Postfix) with ESMTPS id 2AEA44BB3BF0 for <gdb-patches@sourceware.org>; Tue, 24 Mar 2026 12:51:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2AEA44BB3BF0 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=espressif.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=espressif.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 2AEA44BB3BF0 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.75.127 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1774356676; cv=pass; b=VewAgYkEUvb+fZIkcOWiB3J2y2wCGuzl2dNmgCRdwP6GF8z6cKx4ehN8+zbekZyYKjqOOwkSR8nZ+kRuWXSa1bkSS55jAvTRKMZPFIN9ScYY/R7Aip19o8sxBFJA/TNC+cRioqsvyK//zmttBydojd3JN8usvTHgH5wUsrO//4E= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1774356676; c=relaxed/simple; bh=GxLGIeQB0cZLcTq54slDUX7pK+UxIluIMSFyavqnYSU=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=lcCfO6O+nesqqMzxlBu4VSWOpLOKJ9bv8OTkeRJBmCffdaZqlY1H6l7keodbKyFze0eiC56HTI/hGFVcNtMuA7pAC6FazHIeX1CdveOytuRffiz/XSZX6xvK1dYOaJMQsY3IlOEu6p6w0q8kqagkTAKgG9w++yj3ZkZuZg1+c2M= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2AEA44BB3BF0 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CV2Vj4lMQYy8LmuNScHcDSpyX2VrHxLiy20qvRo5sUo+yIpLACMT+H+ShFkMqT5v48UBcAwHQ+DzHXwAccd+uN21UDW/hgqkqN+iFhO4pEfjpHUGyJNdlcSzpQDM/+dUSZOPIomBPnwDO+WoIW5xyHXE65QQaZxONI9f0qjPCFODfsV3f7nTDxbWrq91lzDN65YzIjUfqb5RMRTadMbcVgYdGfn5J8zKLS5znMqBNp9vrxqMPQ8ZZUK0p5CoMyT45RWacuavKYzuR2kdXyZPBLGtnEr3UwNGuES3+fEg0A5rWNyLTtse9Lhe9WaxJ/PtlUsz5YK9deAK0FldKsVZAg== 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=GxLGIeQB0cZLcTq54slDUX7pK+UxIluIMSFyavqnYSU=; b=HBx1+iaa/exFrBiFy7mg8erEuzy/9314FvAER5nzRdZsf4jQJrnXol+jDTGwHDyFICctXHzHwb1dahL6eUzkIIp7P00XTmRaLT7+faoVofn0NVR3+VHvtAbpKbajrNPdW1434Tbd5FGIBGGHMF23ZPKMAPajttRQFHGCB2DHATDgMqo11rtbCh8Ek/VSfqsaNvvGfiNFzOSgbg2ZJm2a1x6fSKvYppxpKmPuIiv+s9aRfzrIkg0JKdfmbhxywc+7AYf5UJeleUYrtppX3R34MErb7zgXBUehxigw2Qt+YYwZ5h2wBAI7ztJXAGUwixpio9gHsZi+B3Dg44cWQTBSpA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=espressif.com; dmarc=pass action=none header.from=espressif.com; dkim=pass header.d=espressif.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=espressifsystems.onmicrosoft.com; s=selector1-espressifsystems-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GxLGIeQB0cZLcTq54slDUX7pK+UxIluIMSFyavqnYSU=; b=PbP8zlyDADPpHm7U1rcjgglK7Z/LZhk9Zse4e023fqXsTgLTicHZMcS13NARrdoutTV3ObLWcggcSOUqOJMCsm4SoKe2o5YbazPV6jzhbjWAPqjoKcW3lZddRvMEyFMi50UYtNiQyFyXrdV6ZNGcat3OxWnz0Rzt3HWPQHsfm3Y= Received: from TYZPR04MB5736.apcprd04.prod.outlook.com (2603:1096:400:1fa::7) by TYSPR04MB8205.apcprd04.prod.outlook.com (2603:1096:405:97::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.31; Tue, 24 Mar 2026 12:51:10 +0000 Received: from TYZPR04MB5736.apcprd04.prod.outlook.com ([fe80::370b:b594:6b06:cc54]) by TYZPR04MB5736.apcprd04.prod.outlook.com ([fe80::370b:b594:6b06:cc54%3]) with mapi id 15.20.9723.030; Tue, 24 Mar 2026 12:51:10 +0000 From: Alexey Lapshin <alexey.lapshin@espressif.com> To: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>, "tromey@adacore.com" <tromey@adacore.com> CC: Alexey Gerenkov <alexey.gerenkov@espressif.com>, Sylvio Alves <sylvio.alves@espressif.com> Subject: [PATCHv2] gdb: fix segfault wrong section index for symbols Thread-Topic: [PATCHv2] gdb: fix segfault wrong section index for symbols Thread-Index: AQHcu4zjHJi2AXiO+ESPbTOwSkBoew== Date: Tue, 24 Mar 2026 12:51:09 +0000 Message-ID: <aa2270f65856fb5d4fbe417241498efbddccb3b7.camel@espressif.com> References: <8a74f5e7450650ef1b0aada1dbef8f8bec9e9f3c.camel@espressif.com> In-Reply-To: <8a74f5e7450650ef1b0aada1dbef8f8bec9e9f3c.camel@espressif.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=espressif.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYZPR04MB5736:EE_|TYSPR04MB8205:EE_ x-ms-office365-filtering-correlation-id: a2ccdb17-61e2-443e-0cd5-08de89a40622 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|376014|1800799024|10070799003|22082099003|18002099003|56012099003|38070700021; x-microsoft-antispam-message-info: iCWcmOKD/fmP6cLs/kj3T5900q+951etAAJGqX84Lczl+E/DCNXiRDvE058/+svIzx6E9WkfQvVtvwWPPqExnlkVWi9t6YE6kW6eN80GvOJh/nRJ5muFsmHugwdHT9BLcqvPmKT58kGJkztwmfidcnZGWSGTsmhGSrhK7t2k856hoHBS47o2wvgSeCGzD1gkIclThdVVUV2M5RYqOzrhOXOhUHL7ZdsAxq7xAOxDsnS6HeLMq/shafiYxz4aWMgt8+3JQKfNw7C0QNSFSN/VUqyiKY9mF6HqUwx7nrcvPFRO+uQvK4a3WH3tc1GYXdnZqIDVGMWpknAJiYMU2vfaL2EZHWibXiNozRwO9J25aaookz9X/gtL3gPaYIxRL120j3tv6pYqSbicHAOXTZPcvN+ezDzZSLakePIx6gfrys6RexU8PdUTfs966QkVY1WmpeoQLo1qCqzXyxPACZxHvkbHD2PGBXeZGkN6V2jM5JoiAzJCivLl2MQ6qtQVh8WhhHGiJJmXE42oI30IJgai57GXnxTOhUWZ8z86k43+k+eFHFEO8FdaXvYasH1cvbVosti4Qh+GHd/SAct+il3CQ+aDR64gRC5xTuKU11+A8Suo6qnKaSD67HC6C1jLltRKvC6y9g4ysolOpf3Pyin1IDdPEhDcn7hd/m3rUf5sW2C7R1oxOtBetr0PP/xd/g7vJwmblpkbWUU1G1sjYz3cm8MQBcQ679fgIftMIdmQKUnn15RFjSHn5jBHOBMefVoJ85poXzg+JuMUgXc90Y7LeaGrNT+XdjnpR7umlXOsitk= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYZPR04MB5736.apcprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024)(10070799003)(22082099003)(18002099003)(56012099003)(38070700021); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 2 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?oEne0ziWF2Ocrp9kdGAL/ViafV68?= =?utf-8?q?hs75zWp+jJmxAivrz7hIpy0DeZ17vmPRBvzpdQgMXjmtmgU+y1uVS348fHDqjI+Wz?= =?utf-8?q?+jqFw7WW2QgkFd3lWEnBmtrxsxsrVqhMSB1RTqjVRnbQB+fmEiKdWVXg9LyliwuyT?= =?utf-8?q?VEf69IFjtdiMwzVrWLHzTw26qZR6gpUicr//+MAUF5dKKB/vz/WcuX0DczaFhvEje?= =?utf-8?q?AUepX3gsj0u1WZmGnKNZ/HVYEPsqgUlvG56yPAOgOhhy2bj8zzqjRueEaEg55GoMk?= =?utf-8?q?XF5MaafsPq1AbR/H6Uc7+YxmrDS+9whMgj5t4HtntelL0VK+WR0VzcR9jfDM+e0Eu?= =?utf-8?q?iN1s4fhZ73TZBf6c/1fADJcWUZLA4XYdoGVwOUPEBoL8w2wEUPjQ6IzUOykt8YYcJ?= =?utf-8?q?PzYEpMNf0XM/AkO7XiuqX7EKayrDtYavgMs/ZzEuAJH3sZfx6XPoblvvp2e0TPrWe?= =?utf-8?q?oHKjhtOUKYIwTfnPgEfG0n8nlBG4F5vIcSmiM06ySC+r6JotY8R0cb6KQAt2sWrA4?= =?utf-8?q?E0NabE0TjqkMIxr2lwGgq5G1AqZBpqnfhHRJdpWwWcgWyRuSnHekDdGgx88XKDc6u?= =?utf-8?q?quHbiJIeOkBfqtwQt/FJreQADbwe9Lnuy9xj8ZRz5VaArggzskK7ANN7DnZXzXo7o?= =?utf-8?q?vfcE7iJbiuhaHyagu3MGKa9lwsTYnLNxoSOkwgmMZb9cuvZ3uHsz572lxlZKHOuQ8?= =?utf-8?q?kPJh1217zwp5OLH9aJMrgUOYrlcM2CTLPUl2vqgJO5DAbMY0iRtXgV9rbdcmgqO33?= =?utf-8?q?SnxfzXg1L39T7Ihwmb0BcG3sGPZgz2MX2nHvCxBXaku2+yyRwbxuFphLsgfA9VaJO?= =?utf-8?q?W2exYgYzuBi0nuvtplAR42d9akgaFR7KG6JDIlZcuXU3ADsz2CHTtCii5O/2U98Or?= =?utf-8?q?0XIWIl+HLsdDAZZuA4bvsnaZrPLLck6pJ00x2NXebcQ/FcerwgiR86S8M/ztL8Chd?= =?utf-8?q?fF4fmdJ8HfsQ5w4JrpkbUM7OJIZBCAs0YH2VM4W7+cIvE6gzPx6iazx3tbS7g3Djb?= =?utf-8?q?NucZVN2V9IVvqE/QShfx19L0qrPiRsm4kvuQK/xiyw+5nabGQteBsskXpGWT3OjfZ?= =?utf-8?q?X76UKUtVJpkI9EONco6zWuN/EvcSjaiKfL6CbJQdGkoW8N75AcB+I6OFMZwEw0+tH?= =?utf-8?q?fm4NjPPvEbKgyOt7kafGh1Ai5urGPYXixaITb/0pNFaLc52L7ENYNTXAAugrj19EA?= =?utf-8?q?DJr7FDrhdI+pvqzEzeH7BBpd9v0hI2TmM+mJn6EDgJcZ3INVJu8lZsRiUFHeiSqE3?= =?utf-8?q?6ac/hSQ1iMGxwLyfAe9Z90atDT2iam0qF+KyqXKl14oaLd5kNdVDksE9vkdPVb00c?= =?utf-8?q?1sLgtBrTxTgyTMQAwVzodSnvwCbDQz48KMVo41LsvGRB1IW/2VaAjrZZGBFPluVBS?= =?utf-8?q?gwdbXfcRb4rZtg3BYTi/WFBsSGnjuDbQP7IGir/YuVB3SYeCnsRg2WPofu4NCgo+A?= =?utf-8?q?00qPuJ5UnNhsF5ZXAU6U7h2BtLvBkQgAA/zTnzxqfFGD5n6dx+stRH9W4lbvUvijy?= =?utf-8?q?A94oWbvgwVrYXfEVX+WDtjhnk6+mw/L/0Jn70mEKm8Ibi05dPxVqubRB6FgwbD1WF?= =?utf-8?q?5ICDG/KnAOIujXO1lxiCut1zxD9Zr7IFVG8eGvkrEoKkv3KRg4GDwKbGVHx7QuNaV?= =?utf-8?q?py7gvlT5kdqNA5n6SxW6oOuG4fKsmTP5JKpfLtT4bt6lbm67UnbvrZyb4ngghezep?= =?utf-8?q?elA+kCNVBn5v3Xi9r?= x-ms-exchange-antispam-messagedata-1: /s7vtdnPAsDb/gvtfvqZB3i8kRAwqvLJi4aJ3VA82ha6xFD+dtX6gYnq Content-Type: text/plain; charset="utf-8" Content-ID: <93BE55F099108241A78F082CBB7D3829@apcprd04.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: espressif.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR04MB5736.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a2ccdb17-61e2-443e-0cd5-08de89a40622 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Mar 2026 12:51:10.3121 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5faf27fd-3557-4294-9545-8ea74a409f39 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: /fRVExqAh2aK+S2ZA3tYw/A34iuzfex9vwtK19qQI1aPK91XYhBIjNcCq+GHsAXt1sIPC8IvGQQRJ6eWYe8rgnj1OCJLUfwWLZ1+yBLO41Y= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYSPR04MB8205 X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, 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 sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list <gdb-patches.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/gdb-patches>, <mailto:gdb-patches-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/gdb-patches/> List-Post: <mailto:gdb-patches@sourceware.org> List-Help: <mailto:gdb-patches-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/gdb-patches>, <mailto:gdb-patches-request@sourceware.org?subject=subscribe> Errors-To: gdb-patches-bounces~patchwork=sourceware.org@sourceware.org |
| Series |
[PATCHv2] gdb: fix segfault wrong section index for symbols
|
|
Checks
| Context | Check | Description |
|---|---|---|
| linaro-tcwg-bot/tcwg_gdb_build--master-arm | success | Build passed |
| linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 | success | Build passed |
| linaro-tcwg-bot/tcwg_gdb_check--master-arm | success | Test passed |
| linaro-tcwg-bot/tcwg_gdb_check--master-aarch64 | success | Test passed |
Commit Message
Alexey Lapshin
March 24, 2026, 12:51 p.m. UTC
Set each symbol's section from the block's real PC range instead
of always using sect_index_text (the ".text" slot). Blindly using
sect_index_text was wrong for executables where code lives only in
sections such as .iram.text / .flash.text and the canonical ".text"
section is missing.
That led to bad section_index / SAL handling and eventually a null
dereference in get_sal_arch: it does "if (sal.section)" but then uses
sal.section->objfile without checking. Objfile can be NULL even when
sal.section is not due to wrong section index.
Example layouts that trigger this class of bug (simplified):
.iram.text {
*(.text.iram*)
}
.flash.text {
*(.text .text.*)
}
Segfault looked like:
0 in objfile::arch (this=0x0) at gdb/objfiles.h:517
1 in get_sal_arch (sal=...) at gdb/breakpoint.c:7764
2 in code_breakpoint::code_breakpoint (...) at gdb/breakpoint.c:8854
---
gdb/buildsym.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
--
2.43.0
diff --git a/gdb/buildsym.c b/gdb/buildsym.c index 6dc079f29b1..f9398f6331d 100644 --- a/gdb/buildsym.c +++ b/gdb/buildsym.c @@ -244,7 +244,16 @@ buildsym_compunit::finish_block_internal { struct type *ftype = symbol->type (); symbol->set_value_block (block); - symbol->set_section_index (SECT_OFF_TEXT (m_objfile)); + /* Section lookup uses the block's low PC (function entry). */ + for (obj_section &s : m_objfile->sections ()) + { + if (s.contains (start)) + { + int symbol_section = &s - m_objfile->sections_start; + symbol->set_section_index (symbol_section); + break; + } + } block->set_function (symbol); if (ftype->num_fields () <= 0)