LLVM: llvm::object::SymbolicFile Class Reference (original) (raw)

#include "[llvm/Object/SymbolicFile.h](SymbolicFile%5F8h%5Fsource.html)"

Inheritance diagram for llvm::object::SymbolicFile:

Public Member Functions
SymbolicFile (unsigned int Type, MemoryBufferRef Source)
~SymbolicFile () override
virtual void moveSymbolNext (DataRefImpl &Symb) const =0
virtual Error printSymbolName (raw_ostream &OS, DataRefImpl Symb) const =0
virtual Expected< uint32_t > getSymbolFlags (DataRefImpl Symb) const =0
virtual basic_symbol_iterator symbol_begin () const =0
virtual basic_symbol_iterator symbol_end () const =0
virtual bool is64Bit () const =0
basic_symbol_iterator_range symbols () const
Public Member Functions inherited from llvm::object::Binary
Binary ()=delete
Binary (const Binary &other)=delete
virtual ~Binary ()
virtual Error initContent ()
StringRef getData () const
StringRef getFileName () const
MemoryBufferRef getMemoryBufferRef () const
unsigned int getType () const
bool isObject () const
bool isSymbolic () const
bool isArchive () const
bool isMachOUniversalBinary () const
bool isTapiUniversal () const
bool isELF () const
bool isMachO () const
bool isCOFF () const
bool isXCOFF () const
bool isWasm () const
bool isOffloadFile () const
bool isCOFFImportFile () const
bool isIR () const
bool isGOFF () const
bool isMinidump () const
bool isTapiFile () const
bool isLittleEndian () const
bool isWinRes () const
bool isDXContainer () const
Triple::ObjectFormatType getTripleObjectFormat () const
Static Public Member Functions
static Expected< std::unique_ptr< SymbolicFile > > createSymbolicFile (MemoryBufferRef Object, llvm::file_magic Type, LLVMContext *Context, bool InitContent=true)
static Expected< std::unique_ptr< SymbolicFile > > createSymbolicFile (MemoryBufferRef Object)
static bool classof (const Binary *v)
static bool isSymbolicFile (file_magic Type, const LLVMContext *Context)
Static Public Member Functions inherited from llvm::object::Binary
static Error checkOffset (MemoryBufferRef M, uintptr_t Addr, const uint64_t Size)
Additional Inherited Members
Protected Types inherited from llvm::object::Binary
enum { ID_Archive, ID_MachOUniversalBinary, ID_COFFImportFile, ID_IR, ID_TapiUniversal, ID_TapiFile, ID_Minidump, ID_WinRes, ID_Offload, ID_StartObjects, ID_COFF, ID_XCOFF32, ID_XCOFF64, ID_ELF32L, ID_ELF32B, ID_ELF64L, ID_ELF64B, ID_MachO32L, ID_MachO32B, ID_MachO64L, ID_MachO64B, ID_GOFF, ID_Wasm, ID_DXContainer, ID_EndObjects }
Protected Member Functions inherited from llvm::object::Binary
Binary (unsigned int Type, MemoryBufferRef Source)
Static Protected Member Functions inherited from llvm::object::Binary
static unsigned int getELFType (bool isLE, bool is64Bits)
static unsigned int getMachOType (bool isLE, bool is64Bits)
Protected Attributes inherited from llvm::object::Binary
MemoryBufferRef Data

Detailed Description

Member Typedef Documentation

basic_symbol_iterator_range

Constructor & Destructor Documentation

~SymbolicFile()

SymbolicFile::~SymbolicFile ( ) overridedefault

Member Function Documentation

classof()

createSymbolicFile() [1/2]

createSymbolicFile() [2/2]

Definition at line 37 of file SymbolicFile.cpp.

References llvm::file_magic::bitcode, llvm::file_magic::coff_import_library, llvm::file_magic::coff_object, llvm::consumeError(), llvm::object::IRObjectFile::create(), llvm::object::ObjectFile::createObjectFile(), llvm::object::Binary::Data, llvm::file_magic::dxcontainer_object, llvm::file_magic::elf, llvm::file_magic::elf_core, llvm::file_magic::elf_executable, llvm::file_magic::elf_relocatable, llvm::file_magic::elf_shared_object, llvm::errorCodeToError(), llvm::object::IRObjectFile::findBitcodeInObject(), llvm::file_magic::goff_object, llvm::identify_magic(), llvm::object::invalid_file_type, isSymbolicFile(), llvm_unreachable, llvm::file_magic::macho_bundle, llvm::file_magic::macho_core, llvm::file_magic::macho_dsym_companion, llvm::file_magic::macho_dynamic_linker, llvm::file_magic::macho_dynamically_linked_shared_lib, llvm::file_magic::macho_dynamically_linked_shared_lib_stub, llvm::file_magic::macho_executable, llvm::file_magic::macho_file_set, llvm::file_magic::macho_fixed_virtual_memory_shared_lib, llvm::file_magic::macho_kext_bundle, llvm::file_magic::macho_object, llvm::file_magic::macho_preload_executable, llvm::file_magic::pecoff_executable, llvm::Expected< T >::takeError(), llvm::file_magic::unknown, llvm::file_magic::wasm_object, llvm::file_magic::xcoff_object_32, and llvm::file_magic::xcoff_object_64.

Referenced by llvm::object::createBinary(), createSymbolicFile(), llvm::NewArchiveMember::detectKindFromObject(), and getSymbolicFile().

getSymbolFlags()

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFImportFile, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::IRObjectFile, llvm::object::MachOObjectFile, llvm::object::TapiFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

Referenced by llvm::object::ObjectFile::getCommonSymbolSize(), and llvm::object::ObjectFile::getSymbolValue().

is64Bit()

virtual bool llvm::object::SymbolicFile::is64Bit ( ) const pure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFImportFile, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::GOFFObjectFile, llvm::object::IRObjectFile, llvm::object::MachOObjectFile, llvm::object::TapiFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

Referenced by llvm::object::XCOFFSymbolRef::getValue(), and is64BitSymbolicFile().

isSymbolicFile()

Definition at line 99 of file SymbolicFile.cpp.

References llvm::file_magic::bitcode, llvm::file_magic::coff_import_library, llvm::file_magic::coff_object, llvm::file_magic::dxcontainer_object, llvm::file_magic::elf, llvm::file_magic::elf_core, llvm::file_magic::elf_executable, llvm::file_magic::elf_relocatable, llvm::file_magic::elf_shared_object, llvm::file_magic::goff_object, llvm::file_magic::macho_bundle, llvm::file_magic::macho_core, llvm::file_magic::macho_dsym_companion, llvm::file_magic::macho_dynamic_linker, llvm::file_magic::macho_dynamically_linked_shared_lib, llvm::file_magic::macho_dynamically_linked_shared_lib_stub, llvm::file_magic::macho_executable, llvm::file_magic::macho_file_set, llvm::file_magic::macho_fixed_virtual_memory_shared_lib, llvm::file_magic::macho_kext_bundle, llvm::file_magic::macho_object, llvm::file_magic::macho_preload_executable, llvm::file_magic::pecoff_executable, llvm::file_magic::wasm_object, llvm::file_magic::xcoff_object_32, and llvm::file_magic::xcoff_object_64.

Referenced by createSymbolicFile(), and getSymbolicFile().

moveSymbolNext()

virtual void llvm::object::SymbolicFile::moveSymbolNext ( DataRefImpl & Symb) const pure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFImportFile, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::GOFFObjectFile, llvm::object::IRObjectFile, llvm::object::MachOObjectFile, llvm::object::TapiFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

printSymbolName()

symbol_begin()

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFImportFile, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::GOFFObjectFile, llvm::object::IRObjectFile, llvm::object::MachOObjectFile, llvm::object::TapiFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

Referenced by llvm::object::ELFObjectFileBase::symbols(), llvm::object::ObjectFile::symbols(), and symbols().

symbol_end()

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFImportFile, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::GOFFObjectFile, llvm::object::IRObjectFile, llvm::object::MachOObjectFile, llvm::object::TapiFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

Referenced by llvm::object::ELFObjectFileBase::getPltEntries(), llvm::object::ELFObjectFileBase::symbols(), llvm::object::ObjectFile::symbols(), and symbols().

symbols()

basic_symbol_iterator_range llvm::object::SymbolicFile::symbols ( ) const inline

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