[llvm] 5d597e2 - [DebugInfo][unittest] Use YAML to generate the .debug_loclists section.
Xing GUO via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 4 01:38:24 PDT 2020
Author: Xing GUO
Date: 2020-08-04T16:37:51+08:00
New Revision: 5d597e20dfdb8eea4c11375f1ae5940e151246c4
URL: https://github.com/llvm/llvm-project/commit/5d597e20dfdb8eea4c11375f1ae5940e151246c4
DIFF: https://github.com/llvm/llvm-project/commit/5d597e20dfdb8eea4c11375f1ae5940e151246c4.diff
LOG: [DebugInfo][unittest] Use YAML to generate the .debug_loclists section.
DWARFYAML supports generating the .debug_loclists section. We can use it
to simplify tests.
Reviewed By: jhenderson, grimar
Differential Revision: https://reviews.llvm.org/D85179
Added:
Modified:
llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
Removed:
################################################################################
diff --git a/llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp b/llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
index 9fb6a48157cf..1d468a956e2b 100644
--- a/llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
+++ b/llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
@@ -46,42 +46,27 @@ TEST(DWARFDie, getLocations) {
BlockData: [ 0x47 ]
- Value: 20
- Value: 25
+ debug_loclists:
+ - AddressSize: 4
+ OffsetEntryCount: 0
+ Lists:
+ - Entries:
+ - Operator: DW_LLE_start_length
+ Values: [ 0x01, 0x02 ]
+ - Operator: DW_LLE_end_of_list
+ - Entries:
+ - Operator: DW_LLE_startx_length
+ Values: [ 0x01, 0x02 ]
+ - Operator: DW_LLE_end_of_list
+ - Entries:
+ - Operator: DW_LLE_start_length
+ Values: [ 0x01, 0x02 ]
+ ## end_of_list intentionally missing.
)";
Expected<StringMap<std::unique_ptr<MemoryBuffer>>> Sections =
DWARFYAML::emitDebugSections(StringRef(yamldata),
/*IsLittleEndian=*/true);
ASSERT_THAT_EXPECTED(Sections, Succeeded());
- std::vector<uint8_t> Loclists{
- // Header
- 0, 0, 0, 0, // Length
- 5, 0, // Version
- 4, // Address size
- 0, // Segment selector size
- 0, 0, 0, 0, // Offset entry count
- // First location list.
- DW_LLE_start_length, // First entry
- 1, 0, 0, 0, // Start offset
- 2, // Length
- 0, // Expression length
- DW_LLE_end_of_list,
- // Second location list.
- DW_LLE_startx_length, // First entry
- 1, // Start index
- 2, // Length
- 0, // Expression length
- DW_LLE_end_of_list,
- // Third location list.
- DW_LLE_start_length, // First entry
- 1, 0, 0, 0, // Start offset
- 2, // Length
- 0, // Expression length
- // end_of_list intentionally missing
- };
- Loclists[0] = Loclists.size() - 4;
- Sections->try_emplace(
- "debug_loclists",
- MemoryBuffer::getMemBuffer(toStringRef(Loclists), "debug_loclists",
- /*RequiresNullTerminator=*/false));
std::unique_ptr<DWARFContext> Ctx =
DWARFContext::create(*Sections, 4, /*isLittleEndian=*/true);
DWARFCompileUnit *CU = Ctx->getCompileUnitForOffset(0);
More information about the llvm-commits
mailing list