HomePhabricator

DWARF: Implement DW_AT_signature lookup for type unit support

Description

DWARF: Implement DW_AT_signature lookup for type unit support

Summary:
This patch implements the main feature of type units. When completing a
type, if we encounter a DW_AT_signature attribute, we use it's value to
lookup the complete definition of the type in the relevant type unit.

To enable this lookup, we build up a map of all type units in a symbol
file when parsing the units. Then we consult this map when resolving the
DW_AT_signature attribute.

I include add a couple of tests which exercise the type lookup feature,
including one that ensure we do something reasonable in case we fail to
lookup the type.

A lot of the ideas in this patch have been taken from D32167 and D61505.

Reviewers: clayborg, JDevlieghere, aprantl, alexshap

Subscribers: mgrang, lldb-commits

Differential Revision: https://reviews.llvm.org/D62246

Details

Committed
labathMay 24 2019, 1:11 AM
Differential Revision
D62246: DWARF: Implement DW_AT_signature lookup for type unit support
Parents
rL361602: DWARFContext: Make loading of sections thread-safe
Branches
Unknown
Tags
Unknown