|
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().
1.8.13