LLVM 20.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"

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 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

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::orc
 

Macros

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

Enumerations

enum  llvm::orc::DebugObjectFlags : int { llvm::orc::ReportFinalSectionLoadAddresses = 1 << 0 , llvm::orc::HasDebugSections = 1 << 1 }
 

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.
 

Variables

static const std::set< StringRef > llvm::orc::DwarfSectionNames
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "orc"

Definition at line 33 of file DebugObjectManagerPlugin.cpp.

◆ HANDLE_DWARF_SECTION

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