LLVM
8.0.1
|
#include "llvm/DebugInfo/DWARF/DWARFContext.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h"
#include "llvm/DebugInfo/DWARF/DWARFCompileUnit.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugAddr.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugAranges.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugFrame.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugLine.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugLoc.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugMacro.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugPubTable.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugRangeList.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugRnglists.h"
#include "llvm/DebugInfo/DWARF/DWARFDie.h"
#include "llvm/DebugInfo/DWARF/DWARFFormValue.h"
#include "llvm/DebugInfo/DWARF/DWARFGdbIndex.h"
#include "llvm/DebugInfo/DWARF/DWARFSection.h"
#include "llvm/DebugInfo/DWARF/DWARFUnitIndex.h"
#include "llvm/DebugInfo/DWARF/DWARFVerifier.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/Object/Decompressor.h"
#include "llvm/Object/MachO.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Object/RelocVisitor.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/DataExtractor.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/TargetRegistry.h"
#include "llvm/Support/WithColor.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cstdint>
#include <deque>
#include <map>
#include <string>
#include <utility>
#include <vector>
Go to the source code of this file.
Classes | |
struct | SymInfo |
SymInfo contains information about symbol: it's address and section index which is -1LL for absolute symbols. More... | |
Macros | |
#define | DEBUG_TYPE "dwarf" |
Typedefs | |
using | DWARFLineTable = DWARFDebugLine::LineTable |
using | FileLineInfoKind = DILineInfoSpecifier::FileLineInfoKind |
using | FunctionNameKind = DILineInfoSpecifier::FunctionNameKind |
using | ContributionCollection = std::vector< Optional< StrOffsetsContributionDescriptor > > |
#define DEBUG_TYPE "dwarf" |
Definition at line 62 of file DWARFContext.cpp.
using ContributionCollection = std::vector<Optional<StrOffsetsContributionDescriptor> > |
Definition at line 97 of file DWARFContext.cpp.
Definition at line 64 of file DWARFContext.cpp.
Definition at line 65 of file DWARFContext.cpp.
Definition at line 66 of file DWARFContext.cpp.
|
static |
Definition at line 102 of file DWARFContext.cpp.
References llvm::StrOffsetsContributionDescriptor::Base, llvm::Optional< T >::hasValue(), llvm::StrOffsetsContributionDescriptor::Size, and llvm::sort().
Referenced by dumpDWARFv5StringOffsetsSection().
|
static |
Definition at line 1148 of file DWARFContext.cpp.
References llvm::inconvertibleErrorCode(), and llvm::toString().
Referenced by getSymbolInfo().
|
static |
Definition at line 249 of file DWARFContext.cpp.
References llvm::DataExtractor::isValidOffset().
Referenced by llvm::DWARFContext::dump().
|
static |
Definition at line 132 of file DWARFContext.cpp.
References collectContributionData(), llvm::DWARFSection::Data, llvm::dwarf::DWARF32, llvm::Format, llvm::format(), llvm::DataExtractor::getCStr(), llvm::DWARFDataExtractor::getRelocatedValue(), llvm::max(), llvm::COFF::SectionSize, llvm::StringRef::size(), and llvm::IndexedInstrProf::Version.
Referenced by dumpStringOffsetsSection().
|
static |
Definition at line 295 of file DWARFContext.cpp.
References llvm::StringRef::drop_front(), llvm::DWARFDebugLoclists::dump(), llvm::DWARFListTableHeader::dump(), E, llvm::WithColor::error(), llvm::DWARFListTableHeader::extract(), llvm::DWARFListTableHeader::getAddrSize(), llvm::DataExtractor::getData(), llvm::DWARFListTableHeader::getVersion(), llvm::DataExtractor::isLittleEndian(), llvm::DWARFDebugLoclists::parse(), and llvm::toString().
Referenced by llvm::DWARFContext::dump().
|
static |
Definition at line 273 of file DWARFContext.cpp.
References llvm::DataExtractor::isValidOffset().
Referenced by llvm::DWARFContext::dump().
|
static |
Definition at line 213 of file DWARFContext.cpp.
References llvm::DWARFSection::Data, dumpDWARFv5StringOffsetsSection(), llvm::format(), llvm::DataExtractor::getCStr(), llvm::DataExtractor::getU32(), llvm::StringRef::size(), and llvm::size().
Referenced by llvm::DWARFContext::dump().
|
static |
Dump the UUID load command.
Definition at line 75 of file DWARFContext.cpp.
References llvm::dyn_cast(), llvm::Triple::getArchName(), llvm::Intrinsic::memcpy, and llvm::raw_ostream::write_uuid().
Referenced by llvm::DWARFContext::dump().
|
static |
Definition at line 797 of file DWARFContext.cpp.
References llvm::consumeError(), E, and T.
Referenced by llvm::DWARFContext::getAppleNames(), llvm::DWARFContext::getAppleNamespaces(), llvm::DWARFContext::getAppleObjC(), llvm::DWARFContext::getAppleTypes(), and llvm::DWARFContext::getDebugNames().
|
static |
Definition at line 942 of file DWARFContext.cpp.
References llvm::SmallVectorBase::empty(), llvm::DWARFDie::getDeclLine(), llvm::DWARFUnit::getInlinedChainForAddress(), llvm::DWARFDie::getSubroutineName(), Name, and llvm::None.
Referenced by llvm::DWARFContext::getLineInfoForAddress(), and llvm::DWARFContext::getLineInfoForAddressRange().
|
static |
Returns the address of symbol relocation used against and a section index.
Used for futher relocations computation. Symbol's section load address is
Definition at line 1162 of file DWARFContext.cpp.
References SymInfo::Address, createError(), llvm::object::SymbolRef::getAddress(), llvm::object::SymbolRef::getSection(), llvm::LoadedObjectInfo::getSectionLoadAddress(), llvm::MipsISD::Ret, llvm::object::ObjectFile::section_end(), SymInfo::SectionIndex, llvm::object::SymbolicFile::symbol_end(), and llvm::Expected< T >::takeError().
|
static |
Definition at line 1217 of file DWARFContext.cpp.
References llvm::dyn_cast().