diff options
Diffstat (limited to 'source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp')
-rw-r--r-- | source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp b/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp index 2fcdd34d532f0..1678b228137f6 100644 --- a/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp +++ b/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp @@ -1,27 +1,30 @@ //===-- DWARFDataExtractor.cpp ----------------------------------*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "DWARFDataExtractor.h" +#include "llvm/ADT/StringRef.h" namespace lldb_private { uint64_t DWARFDataExtractor::GetDWARFInitialLength(lldb::offset_t *offset_ptr) const { - uint64_t length = GetU32(offset_ptr); - m_is_dwarf64 = (length == UINT32_MAX); - if (m_is_dwarf64) - length = GetU64(offset_ptr); - return length; + return GetU32(offset_ptr); } dw_offset_t DWARFDataExtractor::GetDWARFOffset(lldb::offset_t *offset_ptr) const { return GetMaxU64(offset_ptr, GetDWARFSizeOfOffset()); } + +llvm::DWARFDataExtractor DWARFDataExtractor::GetAsLLVM() const { + return llvm::DWARFDataExtractor( + llvm::StringRef(reinterpret_cast<const char *>(GetDataStart()), + GetByteSize()), + GetByteOrder() == lldb::eByteOrderLittle, GetAddressByteSize()); } +} // namespace lldb_private |