From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27055 invoked by alias); 12 Oct 2017 20:36:47 -0000 Mailing-List: contact elfutils-devel-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: elfutils-devel-owner@sourceware.org Received: (qmail 25522 invoked by uid 48); 12 Oct 2017 20:36:41 -0000 From: "mark at klomp dot org" To: elfutils-devel@sourceware.org Subject: [Bug tools/22288] eu-addr2line doesn't find a rust file:line Date: Thu, 12 Oct 2017 20:36:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: elfutils X-Bugzilla-Component: tools X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: mark at klomp dot 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: cc 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-SW-Source: 2017-q4/txt/msg00016.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=3D22288 Mark Wielaard changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mark at klomp dot org --- Comment #1 from Mark Wielaard --- The problem is that there are no .debug_aranges. eu-addr2line uses that to = know which CU it needs to inspect to find the subprogram in. Without .debug_aranges we would have to scan all CUs to create our own aran= ges table by inspecting the DW_AT_low_pc/DW_AT_high_pc or DW_AT_ranges attribut= es. In theory we could do that, but it is not immediately obvious when we shoul= d. If there is no .debug_aranges at all then it might be sensible to assume th= is does not mean there are really no CUs that cover program scope addresses. B= ut if there are .debug_aranges then it seems bad to assume they are wrong or incomplete. Best would be to fix rustc to generate .debug_aranges. Second best would be to have a mechanism to for scanning all CUs and (re)cr= eate the same cache that dwarf_getaranges() would create from the .debug_aranges section for the CU. One question is if this isn't the default how it intera= cts with other users of the aranges cache like dwarf_addrdie, dwfl_module_addrd= ie and dwfl_module_getsrc. The last one is what eu-addr2line (and eu-stack) us= e. --=20 You are receiving this mail because: You are on the CC list for the bug.