diff options
Diffstat (limited to 'include/llvm/DebugInfo/DWARF/DWARFRelocMap.h')
-rw-r--r-- | include/llvm/DebugInfo/DWARF/DWARFRelocMap.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/include/llvm/DebugInfo/DWARF/DWARFRelocMap.h b/include/llvm/DebugInfo/DWARF/DWARFRelocMap.h index af01bddeed15..f1e03bb4c2e1 100644 --- a/include/llvm/DebugInfo/DWARF/DWARFRelocMap.h +++ b/include/llvm/DebugInfo/DWARF/DWARFRelocMap.h @@ -16,7 +16,17 @@ namespace llvm { -typedef DenseMap<uint64_t, std::pair<uint8_t, int64_t>> RelocAddrMap; +struct RelocAddrEntry { + uint8_t Width; + int64_t Value; +}; + +// In place of applying the relocations to the data we've read from disk we use +// a separate mapping table to the side and checking that at locations in the +// dwarf where we expect relocated values. This adds a bit of complexity to the +// dwarf parsing/extraction at the benefit of not allocating memory for the +// entire size of the debug info sections. +typedef DenseMap<uint64_t, RelocAddrEntry> RelocAddrMap; } // end namespace llvm |