LLVM: llvm::dwarf_linker::DWARFLinkerBase Class Reference (original) (raw)

The base interface for DWARFLinker implementations. More...

#include "[llvm/DWARFLinker/DWARFLinkerBase.h](DWARFLinkerBase%5F8h%5Fsource.html)"

Public Types
enum class OutputFileType : uint8_t { Object, Assembly }
Type of output file. More...
enum class AccelTableKind : uint8_t { Apple, Pub, DebugNames }
The kind of accelerator tables to be emitted. More...
using MessageHandlerTy
using ObjFileLoaderTy
using InputVerificationHandlerTy
using ObjectPrefixMapTy = std::map<std::string, std::string>
using CompileUnitHandlerTy = function_ref<void(const DWARFUnit &Unit)>
using SwiftInterfacesMapTy = std::map<std::string, std::string>
Public Member Functions
virtual ~DWARFLinkerBase ()=default
virtual void addObjectFile (DWARFFile &File, ObjFileLoaderTy Loader=nullptr, CompileUnitHandlerTy OnCUDieLoaded=[](const DWARFUnit &) {})=0
Add an object file to be linked.
virtual Error link ()=0
Link the debug info for all object files added through calls to addObjectFile.
virtual void setVerbosity (bool Verbose)=0
A number of methods setting various linking options: Enable logging to standard output.
virtual void setStatistics (bool Statistics)=0
Print statistics to standard output.
virtual void setVerifyInputDWARF (bool Verify)=0
Verify the input DWARF.
virtual void setNoODR (bool NoODR)=0
Do not unique types according to ODR.
virtual void setUpdateIndexTablesOnly (bool Update)=0
Update index tables only (do not modify rest of DWARF).
virtual void setAllowNonDeterministicOutput (bool)=0
Allows generating non-deterministic output in exchange for more parallelism.
virtual void setKeepFunctionForStatic (bool KeepFunctionForStatic)=0
Set whether to keep the enclosing function for a static variable.
virtual void setNumThreads (unsigned NumThreads)=0
Use specified number of threads for parallel files linking.
virtual void addAccelTableKind (AccelTableKind Kind)=0
Add kind of accelerator tables to be generated.
virtual void setPrependPath (StringRef Ppath)=0
Set prepend path for clang modules.
virtual void setEstimatedObjfilesAmount (unsigned ObjFilesNum)=0
Set estimated objects files amount, for preliminary data allocation.
virtual void setInputVerificationHandler (InputVerificationHandlerTy Handler)=0
Set verification handler used to report verification errors.
virtual void setSwiftInterfacesMap (SwiftInterfacesMapTy *Map)=0
Set map for Swift interfaces.
virtual void setObjectPrefixMap (ObjectPrefixMapTy *Map)=0
Set prefix map for objects.
virtual Error setTargetDWARFVersion (uint16_t TargetDWARFVersion)=0
Set target DWARF version.

The base interface for DWARFLinker implementations.

Definition at line 75 of file DWARFLinkerBase.h.

CompileUnitHandlerTy

InputVerificationHandlerTy

Initial value:

StringRef - Represent a constant reference to a string, i.e.

This class represents DWARF information for source file and it's address map.

Definition at line 82 of file DWARFLinkerBase.h.

MessageHandlerTy

Initial value:

std::function<void(

A structured debug information entry.

Utility class that carries the DWARF compile/type unit and the debug info entry in an object.

Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...

Definition at line 78 of file DWARFLinkerBase.h.

ObjectPrefixMapTy

using llvm::dwarf_linker::DWARFLinkerBase::ObjectPrefixMapTy = std::map<std::string, std::string>

ObjFileLoaderTy

Initial value:

std::function<ErrorOr<DWARFFile &>(

Definition at line 80 of file DWARFLinkerBase.h.

SwiftInterfacesMapTy

using llvm::dwarf_linker::DWARFLinkerBase::SwiftInterfacesMapTy = std::map<std::string, std::string>

AccelTableKind

The kind of accelerator tables to be emitted.

Enumerator
Apple .apple_names, .apple_namespaces, .apple_types, .apple_objc.
Pub .debug_pubnames, .debug_pubtypes
DebugNames .debug_names.

Definition at line 93 of file DWARFLinkerBase.h.

OutputFileType

virtual llvm::dwarf_linker::DWARFLinkerBase::~DWARFLinkerBase ( ) virtualdefault

addAccelTableKind()

virtual void llvm::dwarf_linker::DWARFLinkerBase::addAccelTableKind ( AccelTableKind Kind) pure virtual

addObjectFile()

virtual void llvm::dwarf_linker::DWARFLinkerBase::addObjectFile ( DWARFFile & File, ObjFileLoaderTy Loader = nullptr, CompileUnitHandlerTy OnCUDieLoaded = [](const DWARFUnit &) {} ) pure virtual
virtual Error llvm::dwarf_linker::DWARFLinkerBase::link ( ) pure virtual

setAllowNonDeterministicOutput()

virtual void llvm::dwarf_linker::DWARFLinkerBase::setAllowNonDeterministicOutput ( bool ) pure virtual

setEstimatedObjfilesAmount()

virtual void llvm::dwarf_linker::DWARFLinkerBase::setEstimatedObjfilesAmount ( unsigned ObjFilesNum) pure virtual

setInputVerificationHandler()

virtual void llvm::dwarf_linker::DWARFLinkerBase::setInputVerificationHandler ( InputVerificationHandlerTy Handler) pure virtual

setKeepFunctionForStatic()

virtual void llvm::dwarf_linker::DWARFLinkerBase::setKeepFunctionForStatic ( bool KeepFunctionForStatic) pure virtual

setNoODR()

virtual void llvm::dwarf_linker::DWARFLinkerBase::setNoODR ( bool NoODR) pure virtual

setNumThreads()

virtual void llvm::dwarf_linker::DWARFLinkerBase::setNumThreads ( unsigned NumThreads) pure virtual

setObjectPrefixMap()

virtual void llvm::dwarf_linker::DWARFLinkerBase::setObjectPrefixMap ( ObjectPrefixMapTy * Map) pure virtual

setPrependPath()

virtual void llvm::dwarf_linker::DWARFLinkerBase::setPrependPath ( StringRef Ppath) pure virtual

setStatistics()

virtual void llvm::dwarf_linker::DWARFLinkerBase::setStatistics ( bool Statistics) pure virtual

setSwiftInterfacesMap()

virtual void llvm::dwarf_linker::DWARFLinkerBase::setSwiftInterfacesMap ( SwiftInterfacesMapTy * Map) pure virtual

setTargetDWARFVersion()

virtual Error llvm::dwarf_linker::DWARFLinkerBase::setTargetDWARFVersion ( uint16_t TargetDWARFVersion) pure virtual

setUpdateIndexTablesOnly()

virtual void llvm::dwarf_linker::DWARFLinkerBase::setUpdateIndexTablesOnly ( bool Update) pure virtual

setVerbosity()

virtual void llvm::dwarf_linker::DWARFLinkerBase::setVerbosity ( bool Verbose) pure virtual

setVerifyInputDWARF()

virtual void llvm::dwarf_linker::DWARFLinkerBase::setVerifyInputDWARF ( bool Verify) pure virtual

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