This is an archive of the discontinued LLVM Phabricator instance.

[LLDB] - Improve the support of .debug_str_offsets/.debug_str_offsets.dwo
ClosedPublic

Authored by grimar on Nov 23 2018, 2:02 AM.

Details

Summary

A skeleton compilation unit may contain the DW_AT_str_offsets_base attribute
that points to the first string offset of the CU contribution to the
.debug_str_offsets. At the same time, when we use split dwarf,
the corresponding split debug unit also
may use DW_FORM_strx* forms pointing to its own .debug_str_offsets.dwo.
In that case, DWO does not contain DW_AT_str_offsets_base, but LLDB
still need to know and skip the .debug_str_offsets.dwo section header to
access the offsets.

The patch implements the support of DW_AT_str_offsets_base.
A test case showing the use case is provided.

This patch uses a bit of code from D54751, so I assume the
latter should be landed first.

Diff Detail

Repository
rL LLVM

Event Timeline

grimar created this revision.Nov 23 2018, 2:02 AM
clayborg accepted this revision.Nov 26 2018, 7:41 AM
This revision is now accepted and ready to land.Nov 26 2018, 7:41 AM
This revision was automatically updated to reflect the committed changes.