https://sourceware.org/bugzilla/show_bug.cgi?id=29430
Bug ID: 29430
Summary: `dwarf_getscopes` fails after a8493c1
Product: elfutils
Version: unspecified
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: libdw
Assignee: unassigned at sourceware dot org
Reporter: godlygeek at gmail dot com
CC: elfutils-devel at sourceware dot org
Target Milestone: ---
Apologies, but I haven't yet succeeded in creating a self-contained reproducer
for this issue.
When calling `dwarf_getscopes` on a (PGO and LTO) binary (a Python interpreter
built with GCC 9.3.1 against glibc 2.12, which is a relatively old glibc
version), I'm seeing failures with elfutils 0.187 that I didn't see with
elfutils 0.179. We were able to bisect the problem down to commit a8493c1, and
we see that reverting that commit causes `dwarf_getscopes` to succeed even with
elfutils 0.187
That commit is:
libdw: Skip imported compiler_units in libdw_visit_scopes walking DIE tree
Some gcc -flto versions imported other top-level compile units,
skip those. Otherwise we'll visit various DIE trees multiple times.
Note in the testcase that with newer GCC versions function foo is
fully inlined and does appear only once (as declared, but not as
separate subprogram).
Signed-off-by: Mark Wielaard <[email protected]>
Any idea why this might have broken PC resolution for us?
--
You are receiving this mail because:
You are on the CC list for the bug.