LLVM  3.7.0
Public Member Functions | List of all members
llvm::LoadedObjectInfo Class Referenceabstract

An inferface for inquiring the load address of a loaded object file to be used by the DIContext implementations when applying relocations on the fly. More...

#include <DIContext.h>

Inheritance diagram for llvm::LoadedObjectInfo:
[legend]

Public Member Functions

virtual ~LoadedObjectInfo ()=default
 
virtual uint64_t getSectionLoadAddress (StringRef Name) const =0
 Obtain the Load Address of a section by Name. More...
 
virtual bool getLoadedSectionContents (StringRef Name, StringRef &Data) const
 If conveniently available, return the content of the given Section. More...
 
virtual std::unique_ptr
< LoadedObjectInfo
clone () const =0
 Obtain a copy of this LoadedObjectInfo. More...
 

Detailed Description

An inferface for inquiring the load address of a loaded object file to be used by the DIContext implementations when applying relocations on the fly.

Definition at line 142 of file DIContext.h.

Constructor & Destructor Documentation

virtual llvm::LoadedObjectInfo::~LoadedObjectInfo ( )
virtualdefault

Member Function Documentation

virtual std::unique_ptr<LoadedObjectInfo> llvm::LoadedObjectInfo::clone ( ) const
pure virtual

Obtain a copy of this LoadedObjectInfo.

The caller is responsible for deallocation once the copy is no longer required.

Implemented in llvm::RuntimeDyld::LoadedObjectInfoHelper< Derived >.

virtual bool llvm::LoadedObjectInfo::getLoadedSectionContents ( StringRef  Name,
StringRef Data 
) const
inlinevirtual

If conveniently available, return the content of the given Section.

When the section is available in the local address space, in relocated (loaded) form, e.g. because it was relocated by a JIT for execution, this function should provide the contents of said section in Data. If the loaded section is not available, or the cost of retrieving it would be prohibitive, this function should return false. In that case, relocations will be read from the local (unrelocated) object file and applied on the fly. Note that this method is used purely for optimzation purposes in the common case of JITting in the local address space, so returning false should always be correct.

Definition at line 165 of file DIContext.h.

Referenced by llvm::DWARFContextInMemory::DWARFContextInMemory().

virtual uint64_t llvm::LoadedObjectInfo::getSectionLoadAddress ( StringRef  Name) const
pure virtual

Obtain the Load Address of a section by Name.

Calculate the address of the section identified by the passed in Name. The section need not be present in the local address space. The addresses need to be consistent with the addresses used to query the DIContext and the output of this function should be deterministic, i.e. repeated calls with the same Name should give the same address.

Implemented in llvm::RuntimeDyld::LoadedObjectInfo.

Referenced by llvm::DWARFContextInMemory::DWARFContextInMemory().


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