From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id DE4873858404; Tue, 16 Apr 2024 17:55:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DE4873858404 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1713290125; bh=f3WvsbqxL/X7PBMeqDctvngJdWP5LS7GNaM4ml/Midg=; h=From:To:Subject:Date:In-Reply-To:References:From; b=fur+onW0WuW0ubZkDp2Ht64H8eeFZYBcqpoGtDrFLPzyiAB+0PyTzgw7KNxiuAGS9 D/Y3y+huKJjp37Hap04PPFyLua3q2y/mUB0fcSCuYdgIr4Hx5AGOdw3lA5TfvZrtDE nhwESecNWs70RMk3t9W1MBqMlhcV2AI2KEqgYhmc= From: "cvs-commit at gcc dot gnu.org" To: gdb-prs@sourceware.org Subject: [Bug symtab/30846] [gdb/symtab] incorrect parent for forward spec (inter-cu case) Date: Tue, 16 Apr 2024 17:55:24 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: symtab X-Bugzilla-Version: HEAD X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://sourceware.org/bugzilla/show_bug.cgi?id=3D30846 --- Comment #3 from Sourceware Commits --- The master branch has been updated by Tom Tromey : https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D4320a9c921db= 0245e9486bf3144a326434919f15 commit 4320a9c921db0245e9486bf3144a326434919f15 Author: Tom Tromey Date: Fri Jan 12 18:29:52 2024 -0700 Correctly handle DIE parent computations Tom de Vries pointed out that the combination of sharding, multi-threading, and per-CU "racing" means that sometimes a cross-CU DIE reference might not be correctly resolved. However, it's important to handle this correctly, due to some unfortunate aspects of DWARF. This patch implements this by arranging to preserve each worker's DIE map through the end of index finalization. The extra data is discarded when finalization is done. This approach also allows the parent name resolution to be sharded, by integrating it into the existing entry finalization loop. In an earlier review, I remarked that addrmap couldn't be used here. However, I was mistaken. A *mutable* addrmap cannot be used, as those are based on splay trees and restructure the tree even during lookups (and thus aren't thread-safe). A fixed addrmap, on the other hand, is just a vector and is thread-safe. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=3D30846 --=20 You are receiving this mail because: You are on the CC list for the bug.=