dwarf_loader: Initial support for DW_TAG_unspecified_type

Still need to check what to fprintf for this, but at least have it in
the type lists so that we can find it.

Reported-by: Christophe Fergeau <cfergeau@redhat.com>
Cc: Dodji Seketeli <dodji@redhat.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2016-05-17 10:05:34 -03:00
parent 658a238b98
commit 45618c7ec1
3 changed files with 3 additions and 0 deletions

View File

@ -1576,6 +1576,7 @@ static struct tag *__die__process_tag(Dwarf_Die *die, struct cu *cu,
case DW_TAG_pointer_type:
case DW_TAG_reference_type:
case DW_TAG_restrict_type:
case DW_TAG_unspecified_type:
case DW_TAG_volatile_type:
tag = die__create_new_tag(die, cu); break;
case DW_TAG_ptr_to_member_type:

View File

@ -421,6 +421,7 @@ static inline int tag__is_tag_type(const struct tag *tag)
tag->tag == DW_TAG_reference_type ||
tag->tag == DW_TAG_restrict_type ||
tag->tag == DW_TAG_subroutine_type ||
tag->tag == DW_TAG_unspecified_type ||
tag->tag == DW_TAG_volatile_type;
}

View File

@ -445,6 +445,7 @@ static const char *__tag__name(const struct tag *tag, const struct cu *cu,
case DW_TAG_volatile_type:
case DW_TAG_const_type:
case DW_TAG_restrict_type:
case DW_TAG_unspecified_type:
type = cu__type(cu, tag->type);
if (type == NULL && tag->type != 0)
tag__id_not_found_snprintf(bf, len, tag->type);