summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/DWARFDebugRangeList.cpp
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2015-01-30 18:07:45 +0000
committerZachary Turner <zturner@google.com>2015-01-30 18:07:45 +0000
commit82af9438d0fa27b21f75bdea5832f1baa5450863 (patch)
tree9e9412193579d574cdeabcd07de3e868795cfd4a /llvm/lib/DebugInfo/DWARFDebugRangeList.cpp
parent51702e6e7539afabe8cf34b11bd6b6974e203054 (diff)
downloadbcm5719-llvm-82af9438d0fa27b21f75bdea5832f1baa5450863.tar.gz
bcm5719-llvm-82af9438d0fa27b21f75bdea5832f1baa5450863.zip
Move DebugInfo to DebugInfo/DWARF.
In preparation for adding PDB support to LLVM, this moves the DWARF parsing code to its own subdirectory under DebugInfo, and renames LLVMDebugInfo to LLVMDebugInfoDWARF. This is purely a mechanical / build system change. Differential Revision: http://reviews.llvm.org/D7269 Reviewed by: Eric Christopher llvm-svn: 227586
Diffstat (limited to 'llvm/lib/DebugInfo/DWARFDebugRangeList.cpp')
-rw-r--r--llvm/lib/DebugInfo/DWARFDebugRangeList.cpp69
1 files changed, 0 insertions, 69 deletions
diff --git a/llvm/lib/DebugInfo/DWARFDebugRangeList.cpp b/llvm/lib/DebugInfo/DWARFDebugRangeList.cpp
deleted file mode 100644
index ce60deb57ee..00000000000
--- a/llvm/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 "llvm/DebugInfo/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;
-}
OpenPOWER on IntegriCloud