Making the verifier validate the DWARF v5 strx forms, which index into the string offsets table.
Details
Diff Detail
Event Timeline
test/DebugInfo/X86/dwarfdump-str-offsets.s | ||
---|---|---|
3 | Enhance this test case to pass the verifier. We're adding a DW_AT_base_type attribute to the variable DIEs to make it do so. | |
test/tools/llvm-dwarfdump/X86/verify_debug_info.s | ||
10 | This test case was using DW_FORM_strx4 as an invalid form for DW_AT_stmt_list. Now that we're verifying strx4, this is causing confusion. Replace the strx4 with a different, suitable, invalid form, such as block4. |
lib/DebugInfo/DWARF/DWARFVerifier.cpp | ||
---|---|---|
643 | I'm pretty sure Optional::operator* already asserts. |
lib/DebugInfo/DWARF/DWARFVerifier.cpp | ||
---|---|---|
643 | In which case this could simplify to uint64_t StringOffset = *DieCU->getStringOffsetSectionItem(Index); if (StringOffset >= ... |
lib/DebugInfo/DWARF/DWARFVerifier.cpp | ||
---|---|---|
643 |
It sure does. I'll get rid of the assert in the final commit. |
I'm pretty sure Optional::operator* already asserts.