20 using namespace object;
81 return (*
unwrap(SI) ==
unwrap(ObjectFile)->end_sections()) ? 1 : 0;
108 return (*
unwrap(SI) ==
unwrap(ObjectFile)->end_symbols()) ? 1 : 0;
113 unwrap(SI)->increment(ec);
166 return (*
unwrap(SI) == (*
unwrap(Section))->end_relocations()) ? 1 : 0;
171 unwrap(SI)->increment(ec);
239 char *str =
static_cast<char*
>(
malloc(ret.
size()));
240 std::copy(ret.
begin(), ret.
end(), str);
250 char *str =
static_cast<char*
>(
malloc(ret.
size()));
251 std::copy(ret.
begin(), ret.
end(), str);
uint64_t LLVMGetSectionAddress(LLVMSectionIteratorRef SI)
LLVMBool LLVMGetSectionContainsSymbol(LLVMSectionIteratorRef SI, LLVMSymbolIteratorRef Sym)
LLVMObjectFileRef LLVMCreateObjectFile(LLVMMemoryBufferRef MemBuf)
LLVMContext ** unwrap(LLVMContextRef *Tys)
FunctionType * getType(LLVMContext &Context, ID id, ArrayRef< Type * > Tys=None)
const char * LLVMGetSectionContents(LLVMSectionIteratorRef SI)
LLVM_ATTRIBUTE_NORETURN void report_fatal_error(const char *reason, bool gen_crash_diag=true)
LLVMBool LLVMIsRelocationIteratorAtEnd(LLVMSectionIteratorRef Section, LLVMRelocationIteratorRef SI)
static ObjectFile * createObjectFile(StringRef ObjectPath)
Create ObjectFile from path.
struct LLVMOpaqueMemoryBuffer * LLVMMemoryBufferRef
void LLVMDisposeSymbolIterator(LLVMSymbolIteratorRef SI)
void LLVMMoveToContainingSection(LLVMSectionIteratorRef Sect, LLVMSymbolIteratorRef Sym)
struct LLVMOpaqueSectionIterator * LLVMSectionIteratorRef
const char * data() const
void LLVMDisposeSectionIterator(LLVMSectionIteratorRef SI)
void LLVMMoveToNextRelocation(LLVMRelocationIteratorRef SI)
content_iterator< SectionRef > section_iterator
LLVMSymbolIteratorRef LLVMGetRelocationSymbol(LLVMRelocationIteratorRef RI)
uint64_t LLVMGetSectionSize(LLVMSectionIteratorRef SI)
content_iterator< SymbolRef > symbol_iterator
struct LLVMOpaqueSymbolIterator * LLVMSymbolIteratorRef
struct LLVMOpaqueObjectFile * LLVMObjectFileRef
LLVMBool LLVMIsSectionIteratorAtEnd(LLVMObjectFileRef ObjectFile, LLVMSectionIteratorRef SI)
content_iterator< RelocationRef > relocation_iterator
LLVMSymbolIteratorRef LLVMGetSymbols(LLVMObjectFileRef ObjectFile)
LLVMRelocationIteratorRef LLVMGetRelocations(LLVMSectionIteratorRef Section)
const char * LLVMGetSectionName(LLVMSectionIteratorRef SI)
const char * LLVMGetSymbolName(LLVMSymbolIteratorRef SI)
LLVMContextRef * wrap(const LLVMContext **Tys)
void LLVMDisposeRelocationIterator(LLVMRelocationIteratorRef SI)
LLVMSectionIteratorRef LLVMGetSections(LLVMObjectFileRef ObjectFile)
std::string message() const
void LLVMMoveToNextSymbol(LLVMSymbolIteratorRef SI)
uint64_t LLVMGetRelocationAddress(LLVMRelocationIteratorRef RI)
std::string getName(ID id, ArrayRef< Type * > Tys=None)
void *malloc(size_t size);
uint64_t LLVMGetSymbolAddress(LLVMSymbolIteratorRef SI)
const char * LLVMGetRelocationTypeName(LLVMRelocationIteratorRef RI)
struct LLVMOpaqueRelocationIterator * LLVMRelocationIteratorRef
uint64_t LLVMGetRelocationOffset(LLVMRelocationIteratorRef RI)
uint64_t LLVMGetRelocationType(LLVMRelocationIteratorRef RI)
void LLVMDisposeObjectFile(LLVMObjectFileRef ObjectFile)
LLVMBool LLVMIsSymbolIteratorAtEnd(LLVMObjectFileRef ObjectFile, LLVMSymbolIteratorRef SI)
uint64_t LLVMGetSymbolSize(LLVMSymbolIteratorRef SI)
const char * LLVMGetRelocationValueString(LLVMRelocationIteratorRef RI)
void LLVMMoveToNextSection(LLVMSectionIteratorRef SI)
uint64_t LLVMGetSymbolFileOffset(LLVMSymbolIteratorRef SI)