dwarf_loader: Bail out at DW_TAG_imported_unit tags

We need to support these in a future version, for now, just bail out to
avoid segfaults afterwards.

  $ pahole examples/sles/vmlinux-5.3.18-109.g8ff6392-default.debug
  WARNING: DW_TAG_partial_unit used, some types will not be considered!
           Probably this was optimized using a tool like 'dwz'
           A future version of pahole will take support this.
  $

Reported-by: Tom de Vries
Bugtracker: https://github.com/acmel/dwarves/issues/10
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2020-09-18 16:56:13 -03:00
parent 8c92fd2981
commit 2ecc308518
1 changed files with 2 additions and 0 deletions

View File

@ -1615,6 +1615,8 @@ static struct tag *__die__process_tag(Dwarf_Die *die, struct cu *cu,
struct tag *tag;
switch (dwarf_tag(die)) {
case DW_TAG_imported_unit:
return NULL; // We don't support imported units yet, so to avoid segfaults
case DW_TAG_array_type:
tag = die__create_new_array(die, cu); break;
case DW_TAG_base_type: