LLVM  14.0.0git
Classes | Namespaces | Macros | Enumerations | Functions | Variables
DebugObjectManagerPlugin.cpp File Reference
#include "llvm/ExecutionEngine/Orc/DebugObjectManagerPlugin.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/ExecutionEngine/JITLink/JITLinkDylib.h"
#include "llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h"
#include "llvm/ExecutionEngine/JITSymbol.h"
#include "llvm/Object/ELFObjectFile.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/MSVCErrorWorkarounds.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/raw_ostream.h"
#include <set>
#include "llvm/BinaryFormat/Dwarf.def"
Include dependency graph for DebugObjectManagerPlugin.cpp:

Go to the source code of this file.

Classes

class  llvm::orc::DebugObjectSection
 
class  llvm::orc::ELFDebugObjectSection< ELFT >
 
class  llvm::orc::DebugObject
 The plugin creates a debug object from JITLinkContext when JITLink starts processing the corresponding LinkGraph. More...
 
class  llvm::orc::ELFDebugObject
 The current implementation of ELFDebugObject replicates the approach used in RuntimeDyld: It patches executable and data section headers in the given object buffer with load-addresses of their corresponding sections in target memory. More...
 

Namespaces

 llvm
 ---------------------— PointerInfo ------------------------------------—
 
 llvm::orc
 

Macros

#define DEBUG_TYPE   "orc"
 
#define HANDLE_DWARF_SECTION(ENUM_NAME, ELF_NAME, CMDLINE_NAME, OPTION)   ELF_NAME,
 

Enumerations

enum  llvm::orc::Requirement { llvm::orc::Requirement::ReportFinalSectionLoadAddresses }
 

Functions

static bool llvm::orc::isDwarfSection (StringRef SectionName)
 
static Expected< std::unique_ptr< DebugObject > > llvm::orc::createDebugObjectFromBuffer (ExecutionSession &ES, LinkGraph &G, JITLinkContext &Ctx, MemoryBufferRef ObjBuffer)
 Creates a debug object based on the input object file from ObjectLinkingLayerJITLinkContext. More...
 

Variables

static constexpr sys::Memory::ProtectionFlags llvm::orc::ReadOnly
 
static const std::set< StringRef > llvm::orc::DwarfSectionNames
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "orc"

Definition at line 28 of file DebugObjectManagerPlugin.cpp.

◆ HANDLE_DWARF_SECTION

#define HANDLE_DWARF_SECTION (   ENUM_NAME,
  ELF_NAME,
  CMDLINE_NAME,
  OPTION 
)    ELF_NAME,