aboutsummaryrefslogtreecommitdiffstats
path: root/lib/DebugInfo/DWARFDebugRangeList.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/DebugInfo/DWARFDebugRangeList.cpp')
-rw-r--r--lib/DebugInfo/DWARFDebugRangeList.cpp69
1 files changed, 0 insertions, 69 deletions
diff --git a/lib/DebugInfo/DWARFDebugRangeList.cpp b/lib/DebugInfo/DWARFDebugRangeList.cpp
deleted file mode 100644
index 07b23b3..0000000
--- a/lib/DebugInfo/DWARFDebugRangeList.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-//===-- DWARFDebugRangesList.cpp ------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "DWARFDebugRangeList.h"
-#include "llvm/Support/Format.h"
-#include "llvm/Support/raw_ostream.h"
-
-using namespace llvm;
-
-void DWARFDebugRangeList::clear() {
- Offset = -1U;
- AddressSize = 0;
- Entries.clear();
-}
-
-bool DWARFDebugRangeList::extract(DataExtractor data, uint32_t *offset_ptr) {
- clear();
- if (!data.isValidOffset(*offset_ptr))
- return false;
- AddressSize = data.getAddressSize();
- if (AddressSize != 4 && AddressSize != 8)
- return false;
- Offset = *offset_ptr;
- while (true) {
- RangeListEntry entry;
- uint32_t prev_offset = *offset_ptr;
- entry.StartAddress = data.getAddress(offset_ptr);
- entry.EndAddress = data.getAddress(offset_ptr);
- // Check that both values were extracted correctly.
- if (*offset_ptr != prev_offset + 2 * AddressSize) {
- clear();
- return false;
- }
- if (entry.isEndOfListEntry())
- break;
- Entries.push_back(entry);
- }
- return true;
-}
-
-void DWARFDebugRangeList::dump(raw_ostream &OS) const {
- for (const RangeListEntry &RLE : Entries) {
- const char *format_str = (AddressSize == 4
- ? "%08x %08" PRIx64 " %08" PRIx64 "\n"
- : "%08x %016" PRIx64 " %016" PRIx64 "\n");
- OS << format(format_str, Offset, RLE.StartAddress, RLE.EndAddress);
- }
- OS << format("%08x <End of list>\n", Offset);
-}
-
-DWARFAddressRangesVector
-DWARFDebugRangeList::getAbsoluteRanges(uint64_t BaseAddress) const {
- DWARFAddressRangesVector Res;
- for (const RangeListEntry &RLE : Entries) {
- if (RLE.isBaseAddressSelectionEntry(AddressSize)) {
- BaseAddress = RLE.EndAddress;
- } else {
- Res.push_back(std::make_pair(BaseAddress + RLE.StartAddress,
- BaseAddress + RLE.EndAddress));
- }
- }
- return Res;
-}