diff options
author | Zachary Turner <zturner@google.com> | 2015-01-30 18:07:45 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2015-01-30 18:07:45 +0000 |
commit | 82af9438d0fa27b21f75bdea5832f1baa5450863 (patch) | |
tree | 9e9412193579d574cdeabcd07de3e868795cfd4a /llvm/lib/DebugInfo/DWARFDebugRangeList.cpp | |
parent | 51702e6e7539afabe8cf34b11bd6b6974e203054 (diff) | |
download | bcm5719-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.cpp | 69 |
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; -} |