From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id C6B983855003; Fri, 6 Aug 2021 15:57:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C6B983855003 From: "vries at gcc dot gnu.org" To: gdb-prs@sourceware.org Subject: [Bug symtab/28200] DW_AT_ranges handling in partial_die_info::read does not handle discontinuous ranges Date: Fri, 06 Aug 2021 15:57:46 +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: vries 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 X-BeenThere: gdb-prs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-prs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2021 15:57:46 -0000 https://sourceware.org/bugzilla/show_bug.cgi?id=3D28200 --- Comment #7 from Tom de Vries --- (In reply to Simon Marchi from comment #6) > Here's my interpretation of your post, just to make sure I understand > correctly. >=20 Thanks for verifying. > I. Looks correct > II. Looks correct Ack. > III. Now it sounds like bad debug info, because the CU's ranges is not a > superset of its children. Hmm, I didn't consider this, but I also think it doesn't matter. It's trivially easy to make the function range info match the one of the CU, and we'll see the same address map. > Unless GDB knows better (producer X produces > wrong CU ranges), I think it is correct to trust the CU's ranges, so the > result shown looks correct. Agreed. > (I wouldn't mind having a maintenance mode > where we compute the ranges from the CU's children even if the CU has > ranges, and compare the two address maps to see if there's a difference.= =20 > That could mean a bug in GDB or in the debug info.) Nice idea :) > IV. When the CU doesn't provide ranges, we fall back on building an addre= ss > map that is the intersection of everything found under the CU. At this > point it looks correct, because you still haven't put a "hole" in the > function's ranges. Ack. > V. Now that you've put a hole in the function's ranges, we should see the > hole, therefore it's incorrect. To be specific, my understanding is that the gdb behaviour is incorrect, but that the debug info is correct. Agreed, there is no actual hole in the function, we're just pretending that, but there could be. --=20 You are receiving this mail because: You are on the CC list for the bug.=