LLVM 22.0.0git
llvm::orc::SymbolTableDumpPlugin Class Reference

Dumps symbol tables from LinkGraphs to enable backtrace symbolication. More...

#include "llvm/ExecutionEngine/Orc/BacktraceTools.h"

Inheritance diagram for llvm::orc::SymbolTableDumpPlugin:
[legend]

Public Member Functions

 SymbolTableDumpPlugin (StringRef Path, std::error_code &EC)
 Create a SymbolTableDumpPlugin.
 SymbolTableDumpPlugin (const SymbolTableDumpPlugin &)=delete
SymbolTableDumpPluginoperator= (const SymbolTableDumpPlugin &)=delete
 SymbolTableDumpPlugin (SymbolTableDumpPlugin &&)=delete
SymbolTableDumpPluginoperator= (SymbolTableDumpPlugin &&)=delete
void modifyPassConfig (MaterializationResponsibility &MR, jitlink::LinkGraph &G, jitlink::PassConfiguration &Config) override
Error notifyFailed (MaterializationResponsibility &MR) override
Error notifyRemovingResources (JITDylib &JD, ResourceKey K) override
void notifyTransferringResources (JITDylib &JD, ResourceKey DstKey, ResourceKey SrcKey) override
Public Member Functions inherited from llvm::orc::LinkGraphLinkingLayer::Plugin
virtual ~Plugin ()
virtual void notifyMaterializing (MaterializationResponsibility &MR, jitlink::LinkGraph &G, jitlink::JITLinkContext &Ctx, MemoryBufferRef InputObject)
virtual Error notifyEmitted (MaterializationResponsibility &MR)

Static Public Member Functions

static Expected< std::shared_ptr< SymbolTableDumpPlugin > > Create (StringRef Path)
 Create a SymbolTableDumpPlugin that will append symbol information to the file at the given path.

Detailed Description

Dumps symbol tables from LinkGraphs to enable backtrace symbolication.

This plugin appends symbol information to a file in the following format: "<link graph name>" <address> <symbol name> <address> <symbol name> ...

Where addresses are in hexadecimal and symbol names are for defined symbols.

Definition at line 36 of file BacktraceTools.h.

Constructor & Destructor Documentation

◆ SymbolTableDumpPlugin() [1/3]

llvm::orc::SymbolTableDumpPlugin::SymbolTableDumpPlugin ( StringRef Path,
std::error_code & EC )

Create a SymbolTableDumpPlugin.

The resulting object is in an invalid state if, upon return, EC != std::error_code(). Prefer SymbolTableDumpPlugin::Create.

Definition at line 28 of file BacktraceTools.cpp.

Referenced by operator=(), operator=(), SymbolTableDumpPlugin(), and SymbolTableDumpPlugin().

◆ SymbolTableDumpPlugin() [2/3]

llvm::orc::SymbolTableDumpPlugin::SymbolTableDumpPlugin ( const SymbolTableDumpPlugin & )
delete

◆ SymbolTableDumpPlugin() [3/3]

llvm::orc::SymbolTableDumpPlugin::SymbolTableDumpPlugin ( SymbolTableDumpPlugin && )
delete

Member Function Documentation

◆ Create()

Expected< std::shared_ptr< SymbolTableDumpPlugin > > llvm::orc::SymbolTableDumpPlugin::Create ( StringRef Path)
static

Create a SymbolTableDumpPlugin that will append symbol information to the file at the given path.

Definition at line 20 of file BacktraceTools.cpp.

References llvm::createFileError(), and P.

◆ modifyPassConfig()

void llvm::orc::SymbolTableDumpPlugin::modifyPassConfig ( MaterializationResponsibility & MR,
jitlink::LinkGraph & G,
jitlink::PassConfiguration & Config )
overridevirtual

◆ notifyFailed()

Error llvm::orc::SymbolTableDumpPlugin::notifyFailed ( MaterializationResponsibility & MR)
inlineoverridevirtual

Implements llvm::orc::LinkGraphLinkingLayer::Plugin.

Definition at line 57 of file BacktraceTools.h.

References llvm::Error::success().

◆ notifyRemovingResources()

Error llvm::orc::SymbolTableDumpPlugin::notifyRemovingResources ( JITDylib & JD,
ResourceKey K )
inlineoverridevirtual

Implements llvm::orc::LinkGraphLinkingLayer::Plugin.

Definition at line 61 of file BacktraceTools.h.

References llvm::Error::success().

◆ notifyTransferringResources()

void llvm::orc::SymbolTableDumpPlugin::notifyTransferringResources ( JITDylib & JD,
ResourceKey DstKey,
ResourceKey SrcKey )
inlineoverridevirtual

Implements llvm::orc::LinkGraphLinkingLayer::Plugin.

Definition at line 65 of file BacktraceTools.h.

◆ operator=() [1/2]

SymbolTableDumpPlugin & llvm::orc::SymbolTableDumpPlugin::operator= ( const SymbolTableDumpPlugin & )
delete

◆ operator=() [2/2]

SymbolTableDumpPlugin & llvm::orc::SymbolTableDumpPlugin::operator= ( SymbolTableDumpPlugin && )
delete

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