LLVM: llvm::gsym::DwarfTransformer Class Reference (original) (raw)

A class that transforms the DWARF in a DWARFContext into GSYM information by populating the GsymCreator object that it is constructed with. More...

#include "[llvm/DebugInfo/GSYM/DwarfTransformer.h](DwarfTransformer%5F8h%5Fsource.html)"

Public Member Functions
DwarfTransformer (DWARFContext &D, GsymCreator &G, bool LDCS=false, bool MachO=false)
Create a DWARF transformer.
LLVM_ABI llvm::Error convert (uint32_t NumThreads, OutputAggregator &OS)
Extract the DWARF from the supplied object file and convert it into the Gsym format in the GsymCreator object that is passed in.
LLVM_ABI llvm::Error verify (StringRef GsymPath, OutputAggregator &OS)
Friends
class DwarfTransformerTest

A class that transforms the DWARF in a DWARFContext into GSYM information by populating the GsymCreator object that it is constructed with.

This class supports converting all DW_TAG_subprogram DIEs into gsym::FunctionInfo objects that includes line table information and inline function information. Creating a separate class to transform this data allows this class to be unit tested.

Definition at line 35 of file DwarfTransformer.h.

Create a DWARF transformer.

Parameters

D The DWARF to use when converting to GSYM.
G The GSYM creator to populate with the function information from the debug info.
LDCS Flag to indicate whether we should load the call site information from DWARF DW_TAG_call_site entries
MachO Flag to indicate if the object file is mach-o (Apple's executable format). Apple has some compile unit attributes that look like split DWARF, but they aren't and they can cause warnins to be emitted about missing DWO files.

Definition at line 51 of file DwarfTransformer.h.

References D(), and G.

convert()

Extract the DWARF from the supplied object file and convert it into the Gsym format in the GsymCreator object that is passed in.

Returns an error if something fatal is encountered.

Parameters

NumThreads The number of threads that the conversion process can use.
OS The stream to log warnings and non fatal issues to. If NULL then don't log.

Returns

An error indicating any fatal issues that happen when parsing the DWARF, or Error::success() if all goes well.

Definition at line 636 of file DwarfTransformer.cpp.

References llvm::ThreadPoolInterface::async(), llvm::dyn_cast(), llvm::gsym::OutputAggregator::GetOS(), llvm::DWARFUnit::getUnitDIE(), llvm::hardware_concurrency(), llvm::DWARFUnit::isDWOUnit(), llvm::gsym::OutputAggregator::Merge(), llvm::gsym::OutputAggregator::Report(), llvm::Error::success(), llvm::dwarf::toString(), and llvm::SingleThreadExecutor::wait().

verify()

Definition at line 717 of file DwarfTransformer.cpp.

References llvm::DILineInfoSpecifier::AbsoluteFilePath, llvm::count(), llvm::createStringError(), llvm::gsym::OutputAggregator::GetOS(), HEX64, I, llvm::gsym::GsymReader::openFile(), llvm::gsym::FunctionInfo::size(), llvm::StringRef::starts_with(), llvm::Error::success(), and llvm::object::SectionedAddress::UndefSection.

DwarfTransformerTest

friend class DwarfTransformerTest friend

The documentation for this class was generated from the following files: