... $ gcc -gdwarf-5 -fdebug-types-section ../src/testsuite/dwz.tests/hello.c $ ./dwz a.out ./dwz: a.out: DWARF CU type DW_UT_type unhandled ./dwz: a.out: Could not find DWARF abbreviation 8620 ....
Looks like a missing goto fail: ... diff --git a/dwz.c b/dwz.c index 10860bf..c0d0003 100644 --- a/dwz.c +++ b/dwz.c @@ -6584,9 +6584,11 @@ read_debug_info (DSO *dso, int kind, unsigned int *die_count) { value = read_8 (ptr); if (value != DW_UT_compile && value != DW_UT_partial) - error (0, 0, "%s: DWARF CU type %s unhandled", dso->filename, - get_DW_UT_str (value)); - + { + error (0, 0, "%s: DWARF CU type %s unhandled", dso->filename, + get_DW_UT_str (value)); + goto fail; + } } else { ... after which we have: ... $ ./dwz a.out ./dwz: a.out: DWARF CU type DW_UT_type unhandled ...
(In reply to Tom de Vries from comment #1) > Looks like a missing goto fail: > ... > diff --git a/dwz.c b/dwz.c > index 10860bf..c0d0003 100644 > --- a/dwz.c > +++ b/dwz.c > @@ -6584,9 +6584,11 @@ read_debug_info (DSO *dso, int kind, unsigned int > *die_count) > { > value = read_8 (ptr); > if (value != DW_UT_compile && value != DW_UT_partial) > - error (0, 0, "%s: DWARF CU type %s unhandled", dso->filename, > - get_DW_UT_str (value)); > - > + { > + error (0, 0, "%s: DWARF CU type %s unhandled", dso->filename, > + get_DW_UT_str (value)); > + goto fail; > + } > } > else > { > ... > after which we have: > ... > $ ./dwz a.out > ./dwz: a.out: DWARF CU type DW_UT_type unhandled > ... Yes, please apply. Thanks.
Fixed by this commit: https://sourceware.org/git/?p=dwz.git;a=commit;h=2d478ce675aec6642bc036a9ec9a9932ba64edec