This is an archive of the discontinued LLVM Phabricator instance.

[DWARF] Support for DW_FORM_strx3 and completed support for DW_FORM_strx{1,2,4}/consumer
ClosedPublic

Authored by wolfgangp on Jun 20 2017, 2:03 PM.

Details

Summary

This implements support for DWARF v5 DW_FORM_strx3 and completes support for the other strx<n> forms on the consumer side. The existing test for DWARF v5 string offset tables was augmented accordingly.

Diff Detail

Repository
rL LLVM

Event Timeline

wolfgangp created this revision.Jun 20 2017, 2:03 PM
aprantl edited edge metadata.Jun 20 2017, 4:24 PM

This is just a general high-level comment: When adding new DWARF5 features it might also be a good idea to think about what checks could be added to DWARFVerifier to diagnose corrupt input (and potentially implement them as well :-)

aprantl accepted this revision.Jun 20 2017, 4:33 PM

Seems generally straightforward/fine.

lib/Support/DataExtractor.cpp
80 ↗(On Diff #103260)

perhaps make this a member UInt24_t::getAsUint32(LE?)() ?

This revision is now accepted and ready to land.Jun 20 2017, 4:33 PM
wolfgangp updated this revision to Diff 103303.Jun 20 2017, 5:50 PM

Addressed review comments: added a method getAsUint32 to the uint24_t struct.

lib/Support/DataExtractor.cpp
80 ↗(On Diff #103260)

Thanks, yes, that looks cleaner.

This revision was automatically updated to reflect the committed changes.