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