summaryrefslogtreecommitdiff
path: root/libdw/ChangeLog
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2020-05-08 12:18:41 +0200
committerMark Wielaard <mark@klomp.org>2020-05-08 18:50:16 +0200
commita8493c12a707390fb8307fe60fe83e1aed960f89 (patch)
treee447cb704dc63c212ab6fa3946da143e33991105 /libdw/ChangeLog
parente1db5cdc9f230f8de4df1a0f38dca69b283ee57a (diff)
downloadelfutils-a8493c12a707390fb8307fe60fe83e1aed960f89.tar.gz
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 <mark@klomp.org>
Diffstat (limited to 'libdw/ChangeLog')
-rw-r--r--libdw/ChangeLog5
1 files changed, 5 insertions, 0 deletions
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index 34def10d..c75b0958 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,5 +1,10 @@
2020-05-08 Mark Wielaard <mark@klomp.org>
+ * libdw_visit_scopes.c (walk_children): Don't recurse into imported
+ DW_TAG_compile_units.
+
+2020-05-08 Mark Wielaard <mark@klomp.org>
+
* dwarf_decl_file.c (dwarf_decl_file): Use attr CU instead of DIE
CU to resolve file name.
* dwarf_ranges.c(dwarf_ranges): Document which CU we use when.