19#ifndef LLVM_C_OBJECT_H
20#define LLVM_C_OBJECT_H
24#include "llvm/Config/llvm-config.h"
120 char **ErrorMessage);
#define LLVM_C_EXTERN_C_BEGIN
#define LLVM_C_EXTERN_C_END
StandardInstrumentations SI(Mod->getContext(), Debug, VerifyEach)
uint64_t LLVMGetRelocationType(LLVMRelocationIteratorRef RI)
LLVMObjectFileRef LLVMCreateObjectFile(LLVMMemoryBufferRef MemBuf)
Deprecated: Use LLVMCreateBinary instead.
LLVMSymbolIteratorRef LLVMObjectFileCopySymbolIterator(LLVMBinaryRef BR)
Retrieve a copy of the symbol iterator for this object file.
LLVMBool LLVMIsRelocationIteratorAtEnd(LLVMSectionIteratorRef Section, LLVMRelocationIteratorRef RI)
struct LLVMOpaqueSymbolIterator * LLVMSymbolIteratorRef
void LLVMMoveToNextRelocation(LLVMRelocationIteratorRef RI)
void LLVMDisposeSectionIterator(LLVMSectionIteratorRef SI)
const char * LLVMGetSectionContents(LLVMSectionIteratorRef SI)
const char * LLVMGetSectionName(LLVMSectionIteratorRef SI)
uint64_t LLVMGetRelocationOffset(LLVMRelocationIteratorRef RI)
uint64_t LLVMGetSymbolSize(LLVMSymbolIteratorRef SI)
const char * LLVMGetRelocationTypeName(LLVMRelocationIteratorRef RI)
LLVMBool LLVMIsSectionIteratorAtEnd(LLVMObjectFileRef ObjectFile, LLVMSectionIteratorRef SI)
Deprecated: Use LLVMObjectFileIsSectionIteratorAtEnd instead.
uint64_t LLVMGetSectionSize(LLVMSectionIteratorRef SI)
void LLVMDisposeSymbolIterator(LLVMSymbolIteratorRef SI)
LLVMSymbolIteratorRef LLVMGetSymbols(LLVMObjectFileRef ObjectFile)
Deprecated: Use LLVMObjectFileCopySymbolIterator instead.
LLVMSectionIteratorRef LLVMGetSections(LLVMObjectFileRef ObjectFile)
Deprecated: Use LLVMObjectFileCopySectionIterator instead.
uint64_t LLVMGetSectionAddress(LLVMSectionIteratorRef SI)
LLVMBool LLVMIsSymbolIteratorAtEnd(LLVMObjectFileRef ObjectFile, LLVMSymbolIteratorRef SI)
Deprecated: Use LLVMObjectFileIsSymbolIteratorAtEnd instead.
LLVMBinaryType LLVMBinaryGetType(LLVMBinaryRef BR)
Retrieve the specific type of a binary.
LLVMBool LLVMObjectFileIsSectionIteratorAtEnd(LLVMBinaryRef BR, LLVMSectionIteratorRef SI)
Returns whether the given section iterator is at the end.
void LLVMMoveToNextSymbol(LLVMSymbolIteratorRef SI)
LLVMRelocationIteratorRef LLVMGetRelocations(LLVMSectionIteratorRef Section)
struct LLVMOpaqueSectionIterator * LLVMSectionIteratorRef
LLVMBinaryRef LLVMMachOUniversalBinaryCopyObjectForArch(LLVMBinaryRef BR, const char *Arch, size_t ArchLen, char **ErrorMessage)
void LLVMMoveToContainingSection(LLVMSectionIteratorRef Sect, LLVMSymbolIteratorRef Sym)
void LLVMDisposeBinary(LLVMBinaryRef BR)
Dispose of a binary file.
LLVMSectionIteratorRef LLVMObjectFileCopySectionIterator(LLVMBinaryRef BR)
Retrieve a copy of the section iterator for this object file.
void LLVMDisposeRelocationIterator(LLVMRelocationIteratorRef RI)
LLVMBinaryRef LLVMCreateBinary(LLVMMemoryBufferRef MemBuf, LLVMContextRef Context, char **ErrorMessage)
Create a binary file from the given memory buffer.
LLVMSymbolIteratorRef LLVMGetRelocationSymbol(LLVMRelocationIteratorRef RI)
void LLVMDisposeObjectFile(LLVMObjectFileRef ObjectFile)
Deprecated: Use LLVMDisposeBinary instead.
LLVMBool LLVMObjectFileIsSymbolIteratorAtEnd(LLVMBinaryRef BR, LLVMSymbolIteratorRef SI)
Returns whether the given symbol iterator is at the end.
const char * LLVMGetSymbolName(LLVMSymbolIteratorRef SI)
struct LLVMOpaqueRelocationIterator * LLVMRelocationIteratorRef
struct LLVMOpaqueObjectFile * LLVMObjectFileRef
Deprecated: Use LLVMBinaryRef instead.
LLVMMemoryBufferRef LLVMBinaryCopyMemoryBuffer(LLVMBinaryRef BR)
Retrieves a copy of the memory buffer associated with this object file.
void LLVMMoveToNextSection(LLVMSectionIteratorRef SI)
LLVMBool LLVMGetSectionContainsSymbol(LLVMSectionIteratorRef SI, LLVMSymbolIteratorRef Sym)
const char * LLVMGetRelocationValueString(LLVMRelocationIteratorRef RI)
uint64_t LLVMGetSymbolAddress(LLVMSymbolIteratorRef SI)
@ LLVMBinaryTypeIR
LLVM IR.
@ LLVMBinaryTypeELF64B
ELF 64-bit, big endian.
@ LLVMBinaryTypeArchive
Archive file.
@ LLVMBinaryTypeMachO32B
MachO 32-bit, big endian.
@ LLVMBinaryTypeWasm
Web Assembly.
@ LLVMBinaryTypeELF64L
ELF 64-bit, little endian.
@ LLVMBinaryTypeWinRes
Windows resource (.res) file.
@ LLVMBinaryTypeMachOUniversalBinary
Mach-O Universal Binary file.
@ LLVMBinaryTypeMachO64B
MachO 64-bit, big endian.
@ LLVMBinaryTypeCOFF
COFF Object file.
@ LLVMBinaryTypeCOFFImportFile
COFF Import file.
@ LLVMBinaryTypeELF32B
ELF 32-bit, big endian.
@ LLVMBinaryTypeELF32L
ELF 32-bit, little endian.
@ LLVMBinaryTypeMachO32L
MachO 32-bit, little endian.
@ LLVMBinaryTypeMachO64L
MachO 64-bit, little endian.
@ LLVMBinaryTypeOffload
Offloading fatbinary.
struct LLVMOpaqueBinary * LLVMBinaryRef
struct LLVMOpaqueMemoryBuffer * LLVMMemoryBufferRef
LLVM uses a polymorphic type hierarchy which C cannot represent, therefore parameters must be passed ...
struct LLVMOpaqueContext * LLVMContextRef
The top-level container for all LLVM global data.