LLVM API Documentation
#include "DWARFContext.h"
#include "DWARFDebugArangeSet.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/Support/Compression.h"
#include "llvm/Support/Dwarf.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
Go to the source code of this file.
Defines | |
#define | DEBUG_TYPE "dwarf" |
Typedefs | |
typedef DWARFDebugLine::LineTable | DWARFLineTable |
typedef DILineInfoSpecifier::FileLineInfoKind | FileLineInfoKind |
typedef DILineInfoSpecifier::FunctionNameKind | FunctionNameKind |
Functions | |
static void | dumpPubSection (raw_ostream &OS, StringRef Name, StringRef Data, bool LittleEndian, bool GnuStyle) |
static bool | getFileNameForUnit (DWARFCompileUnit *U, const DWARFLineTable *LineTable, uint64_t FileIndex, FileLineInfoKind Kind, std::string &FileName) |
static bool | getFileLineInfoForCompileUnit (DWARFCompileUnit *CU, const DWARFLineTable *LineTable, uint64_t Address, FileLineInfoKind Kind, DILineInfo &Result) |
static bool | getFunctionNameForAddress (DWARFCompileUnit *CU, uint64_t Address, FunctionNameKind Kind, std::string &FunctionName) |
static bool | consumeCompressedDebugSectionHeader (StringRef &data, uint64_t &OriginalSize) |
#define DEBUG_TYPE "dwarf" |
Definition at line 25 of file DWARFContext.cpp.
Definition at line 27 of file DWARFContext.cpp.
Definition at line 28 of file DWARFContext.cpp.
Definition at line 29 of file DWARFContext.cpp.
static bool consumeCompressedDebugSectionHeader | ( | StringRef & | data, |
uint64_t & | OriginalSize | ||
) | [static] |
Definition at line 584 of file DWARFContext.cpp.
References llvm::DataExtractor::getU64(), llvm::StringRef::startswith(), and llvm::StringRef::substr().
Referenced by llvm::DWARFContextInMemory::DWARFContextInMemory().
static void dumpPubSection | ( | raw_ostream & | OS, |
StringRef | Name, | ||
StringRef | Data, | ||
bool | LittleEndian, | ||
bool | GnuStyle | ||
) | [static] |
Definition at line 31 of file DWARFContext.cpp.
References llvm::format(), llvm::dwarf::GDBIndexEntryKindString(), llvm::dwarf::GDBIndexEntryLinkageString(), llvm::DataExtractor::getCStr(), llvm::DataExtractor::getU16(), llvm::DataExtractor::getU32(), llvm::DataExtractor::getU8(), llvm::DataExtractor::isValidOffset(), and llvm::StringRef::size().
Referenced by llvm::DWARFContext::dump().
static bool getFileLineInfoForCompileUnit | ( | DWARFCompileUnit * | CU, |
const DWARFLineTable * | LineTable, | ||
uint64_t | Address, | ||
FileLineInfoKind | Kind, | ||
DILineInfo & | Result | ||
) | [static] |
Definition at line 424 of file DWARFContext.cpp.
References llvm::DILineInfo::Column, llvm::DWARFDebugLine::Row::Column, llvm::DWARFDebugLine::Row::File, llvm::DILineInfo::FileName, getFileNameForUnit(), llvm::DILineInfo::Line, llvm::DWARFDebugLine::Row::Line, llvm::DWARFDebugLine::LineTable::lookupAddress(), and llvm::DWARFDebugLine::LineTable::Rows.
Referenced by llvm::DWARFContext::getInliningInfoForAddress(), and llvm::DWARFContext::getLineInfoForAddress().
static bool getFileNameForUnit | ( | DWARFCompileUnit * | U, |
const DWARFLineTable * | LineTable, | ||
uint64_t | FileIndex, | ||
FileLineInfoKind | Kind, | ||
std::string & | FileName | ||
) | [static] |
Definition at line 404 of file DWARFContext.cpp.
References llvm::sys::path::append(), llvm::DWARFUnit::getCompilationDir(), llvm::DWARFDebugLine::LineTable::getFileNameByIndex(), llvm::sys::path::is_relative(), llvm::None, and llvm::SmallString< InternalLen >::str().
Referenced by getFileLineInfoForCompileUnit(), llvm::DWARFContext::getInliningInfoForAddress(), and llvm::DWARFContext::getLineInfoForAddressRange().
static bool getFunctionNameForAddress | ( | DWARFCompileUnit * | CU, |
uint64_t | Address, | ||
FunctionNameKind | Kind, | ||
std::string & | FunctionName | ||
) | [static] |
Definition at line 445 of file DWARFContext.cpp.
References llvm::DWARFDebugInfoEntryInlinedChain::DIEs, llvm::DWARFUnit::getInlinedChainForAddress(), llvm::DWARFDebugInfoEntryMinimal::getSubroutineName(), Name, llvm::None, llvm::SmallVectorTemplateCommon< T, typename >::size(), and llvm::DWARFDebugInfoEntryInlinedChain::U.
Referenced by llvm::DWARFContext::getLineInfoForAddress(), and llvm::DWARFContext::getLineInfoForAddressRange().