LLVM 20.0.0git
Classes | Public Member Functions | Static Public Member Functions | List of all members
llvm::orc::GDBJITDebugInfoRegistrationPlugin Class Reference

For each object containing debug info, installs JITLink passes to synthesize a debug object and then register it via the GDB JIT-registration interface. More...

#include "llvm/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.h"

Inheritance diagram for llvm::orc::GDBJITDebugInfoRegistrationPlugin:
Inheritance graph
[legend]

Classes

class  DebugSectionSynthesizer
 

Public Member Functions

 GDBJITDebugInfoRegistrationPlugin (ExecutorAddr RegisterActionAddr)
 
Error notifyFailed (MaterializationResponsibility &MR) override
 
Error notifyRemovingResources (JITDylib &JD, ResourceKey K) override
 
void notifyTransferringResources (JITDylib &JD, ResourceKey DstKey, ResourceKey SrcKey) override
 
void modifyPassConfig (MaterializationResponsibility &MR, jitlink::LinkGraph &LG, jitlink::PassConfiguration &PassConfig) override
 
- Public Member Functions inherited from llvm::orc::ObjectLinkingLayer::Plugin
virtual ~Plugin ()
 
virtual void modifyPassConfig (MaterializationResponsibility &MR, jitlink::LinkGraph &G, jitlink::PassConfiguration &Config)
 
virtual void notifyMaterializing (MaterializationResponsibility &MR, jitlink::LinkGraph &G, jitlink::JITLinkContext &Ctx, MemoryBufferRef InputObject)
 
virtual void notifyLoaded (MaterializationResponsibility &MR)
 
virtual Error notifyEmitted (MaterializationResponsibility &MR)
 
virtual Error notifyFailed (MaterializationResponsibility &MR)=0
 
virtual Error notifyRemovingResources (JITDylib &JD, ResourceKey K)=0
 
virtual void notifyTransferringResources (JITDylib &JD, ResourceKey DstKey, ResourceKey SrcKey)=0
 
virtual SyntheticSymbolDependenciesMap getSyntheticSymbolDependencies (MaterializationResponsibility &MR)
 Return any dependencies that synthetic symbols (e.g.
 

Static Public Member Functions

static Expected< std::unique_ptr< GDBJITDebugInfoRegistrationPlugin > > Create (ExecutionSession &ES, JITDylib &ProcessJD, const Triple &TT)
 

Additional Inherited Members

- Public Types inherited from llvm::orc::ObjectLinkingLayer::Plugin
using JITLinkSymbolSet = DenseSet< jitlink::Symbol * >
 
using SyntheticSymbolDependenciesMap = DenseMap< SymbolStringPtr, JITLinkSymbolSet >
 

Detailed Description

For each object containing debug info, installs JITLink passes to synthesize a debug object and then register it via the GDB JIT-registration interface.

Currently MachO only. For ELF use DebugObjectManagerPlugin. These two plugins will be merged in the near future.

Definition at line 28 of file DebuggerSupportPlugin.h.

Constructor & Destructor Documentation

◆ GDBJITDebugInfoRegistrationPlugin()

llvm::orc::GDBJITDebugInfoRegistrationPlugin::GDBJITDebugInfoRegistrationPlugin ( ExecutorAddr  RegisterActionAddr)
inline

Definition at line 40 of file DebuggerSupportPlugin.h.

Member Function Documentation

◆ Create()

Expected< std::unique_ptr< GDBJITDebugInfoRegistrationPlugin > > llvm::orc::GDBJITDebugInfoRegistrationPlugin::Create ( ExecutionSession ES,
JITDylib ProcessJD,
const Triple TT 
)
static

◆ modifyPassConfig()

void llvm::orc::GDBJITDebugInfoRegistrationPlugin::modifyPassConfig ( MaterializationResponsibility MR,
jitlink::LinkGraph LG,
jitlink::PassConfiguration PassConfig 
)
overridevirtual

◆ notifyFailed()

Error llvm::orc::GDBJITDebugInfoRegistrationPlugin::notifyFailed ( MaterializationResponsibility MR)
overridevirtual

◆ notifyRemovingResources()

Error llvm::orc::GDBJITDebugInfoRegistrationPlugin::notifyRemovingResources ( JITDylib JD,
ResourceKey  K 
)
overridevirtual

◆ notifyTransferringResources()

void llvm::orc::GDBJITDebugInfoRegistrationPlugin::notifyTransferringResources ( JITDylib JD,
ResourceKey  DstKey,
ResourceKey  SrcKey 
)
overridevirtual

Implements llvm::orc::ObjectLinkingLayer::Plugin.

Definition at line 349 of file DebuggerSupportPlugin.cpp.


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