|
LLVM
4.0.0
|
Classes | |
| class | OwningBinary |
| class | ArchiveMemberHeader |
| class | Archive |
| class | Binary |
| struct | dos_header |
| The DOS compatible header at the front of all PE/COFF executables. More... | |
| struct | coff_file_header |
| struct | coff_bigobj_file_header |
| struct | pe32_header |
| The 32-bit PE header that follows the COFF header. More... | |
| struct | pe32plus_header |
| The 64-bit PE header that follows the COFF header. More... | |
| struct | data_directory |
| struct | debug_directory |
| struct | import_lookup_table_entry |
| struct | delay_import_directory_table_entry |
| struct | export_directory_table_entry |
| union | export_address_table_entry |
| struct | StringTableOffset |
| struct | coff_symbol |
| struct | coff_symbol_generic |
| class | COFFSymbolRef |
| struct | coff_section |
| struct | coff_relocation |
| struct | coff_aux_function_definition |
| struct | coff_aux_bf_and_ef_symbol |
| struct | coff_aux_weak_external |
| struct | coff_aux_section_definition |
| struct | coff_aux_clr_token |
| struct | coff_import_header |
| struct | coff_import_directory_table_entry |
| struct | coff_tls_directory |
| struct | coff_load_configuration32 |
| struct | coff_load_configuration64 |
| struct | coff_runtime_function_x64 |
| struct | coff_base_reloc_block_header |
| struct | coff_base_reloc_block_entry |
| class | COFFObjectFile |
| class | ImportDirectoryEntryRef |
| class | DelayImportDirectoryEntryRef |
| class | ExportDirectoryEntryRef |
| class | ImportedSymbolRef |
| class | BaseRelocRef |
| struct | FpoData |
| class | COFFImportFile |
| class | Decompressor |
| Decompressor helps to handle decompression of compressed sections. More... | |
| class | ELFFile |
| class | ELFObjectFileBase |
| class | ELFSectionRef |
| class | elf_section_iterator |
| class | ELFSymbolRef |
| class | elf_symbol_iterator |
| class | ELFRelocationRef |
| class | elf_relocation_iterator |
| class | ELFObjectFile |
| struct | Elf_Ehdr_Impl |
| struct | Elf_Shdr_Impl |
| struct | Elf_Sym_Impl |
| struct | Elf_Dyn_Impl |
| Elf_Dyn_Impl: This inherits from Elf_Dyn_Base, adding getters. More... | |
| struct | Elf_Phdr_Impl |
| struct | Elf_Rel_Impl |
| struct | Elf_Verdef_Impl |
| Elf_Verdef: This is the structure of entries in the SHT_GNU_verdef section (.gnu.version_d). More... | |
| struct | Elf_Verdaux_Impl |
| Elf_Verdaux: This is the structure of auxiliary data in the SHT_GNU_verdef section (.gnu.version_d). More... | |
| struct | Elf_Verneed_Impl |
| Elf_Verneed: This is the structure of entries in the SHT_GNU_verneed section (.gnu.version_r). More... | |
| struct | Elf_Vernaux_Impl |
| Elf_Vernaux: This is the structure of auxiliary data in SHT_GNU_verneed section (.gnu.version_r). More... | |
| struct | Elf_Versym_Impl |
| Elf_Versym: This is the structure of entries in the SHT_GNU_versym section (.gnu.version). More... | |
| struct | Elf_Hash_Impl |
| struct | Elf_GnuHash_Impl |
| struct | Elf_Chdr_Impl |
| struct | ELFType |
| struct | ELFDataTypeTypedefHelperCommon |
| struct | ELFDataTypeTypedefHelper |
| struct | ELFDataTypeTypedefHelper< ELFType< TargetEndianness, false > > |
| ELF 32bit types. More... | |
| struct | ELFDataTypeTypedefHelper< ELFType< TargetEndianness, true > > |
| ELF 64bit types. More... | |
| struct | Elf_Shdr_Base |
| struct | Elf_Shdr_Base< ELFType< TargetEndianness, false > > |
| struct | Elf_Shdr_Base< ELFType< TargetEndianness, true > > |
| struct | Elf_Sym_Base |
| struct | Elf_Sym_Base< ELFType< TargetEndianness, false > > |
| struct | Elf_Sym_Base< ELFType< TargetEndianness, true > > |
| struct | Elf_Dyn_Base |
| Elf_Dyn_Base: This structure matches the form of entries in the dynamic table section (.dynamic) look like. More... | |
| struct | Elf_Dyn_Base< ELFType< TargetEndianness, false > > |
| struct | Elf_Dyn_Base< ELFType< TargetEndianness, true > > |
| struct | Elf_Rel_Impl< ELFType< TargetEndianness, false >, false > |
| struct | Elf_Rel_Impl< ELFType< TargetEndianness, false >, true > |
| struct | Elf_Rel_Impl< ELFType< TargetEndianness, true >, false > |
| struct | Elf_Rel_Impl< ELFType< TargetEndianness, true >, true > |
| struct | Elf_Phdr_Impl< ELFType< TargetEndianness, false > > |
| struct | Elf_Phdr_Impl< ELFType< TargetEndianness, true > > |
| struct | Elf_Chdr_Impl< ELFType< TargetEndianness, false > > |
| struct | Elf_Chdr_Impl< ELFType< TargetEndianness, true > > |
| struct | Elf_Mips_RegInfo |
| struct | Elf_Mips_RegInfo< ELFType< TargetEndianness, false > > |
| struct | Elf_Mips_RegInfo< ELFType< TargetEndianness, true > > |
| struct | Elf_Mips_Options |
| struct | Elf_Mips_ABIFlags |
| class | BinaryError |
| Base class for all errors indicating malformed binary files. More... | |
| class | GenericBinaryError |
| Generic binary error. More... | |
| class | IRObjectFile |
| class | DiceRef |
| DiceRef - This is a value type class that represents a single data in code entry in the table in a Mach-O object file. More... | |
| class | ExportEntry |
| ExportEntry encapsulates the current-state-of-the-walk used when doing a non-recursive walk of the trie data structure. More... | |
| class | MachORebaseEntry |
| MachORebaseEntry encapsulates the current state in the decompression of rebasing opcodes. More... | |
| class | MachOBindEntry |
| MachOBindEntry encapsulates the current state in the decompression of binding opcodes. More... | |
| class | MachOObjectFile |
| class | MachOUniversalBinary |
| class | ModuleSummaryIndexObjectFile |
| This class is used to read just the module summary index related sections out of the given object (which may contain a single module's bitcode or be a combined index bitcode file). More... | |
| class | RelocationRef |
| This is a value type class that represents a single relocation in the list of relocations in the object file. More... | |
| class | SectionRef |
| This is a value type class that represents a single section in the list of sections in the object file. More... | |
| class | SymbolRef |
| This is a value type class that represents a single symbol in the list of symbols in the object file. More... | |
| class | symbol_iterator |
| class | ObjectFile |
| This class is the base class for all object file types. More... | |
| struct | RelocToApply |
| class | RelocVisitor |
| Base class for object file relocation visitors. More... | |
| union | DataRefImpl |
| class | content_iterator |
| class | BasicSymbolRef |
| This is a value type class that represents a single symbol in the list of symbols in the object file. More... | |
| class | SymbolicFile |
| struct | SymEntry |
| class | WasmObjectFile |
Functions | |
| Expected< std::unique_ptr < Binary > > | createBinary (MemoryBufferRef Source, LLVMContext *Context=nullptr) |
| Create a Binary from Source, autodetecting the file type. More... | |
| Expected< OwningBinary< Binary > > | createBinary (StringRef Path) |
| StringRef | getELFRelocationTypeName (uint32_t Machine, uint32_t Type) |
| std::pair< unsigned char, unsigned char > | getElfArchType (StringRef Object) |
| static Error | createError (StringRef Err) |
| template<class ELFT > | |
| Expected< const typename ELFT::Shdr * > | getSection (typename ELFT::ShdrRange Sections, uint32_t Index) |
| template<class ELFT > | |
| Expected< uint32_t > | getExtendedSymbolTableIndex (const typename ELFT::Sym *Sym, const typename ELFT::Sym *FirstSym, ArrayRef< typename ELFT::Word > ShndxTable) |
| template<class ELFT > | |
| Expected< const typename ELFT::Sym * > | getSymbol (typename ELFT::SymRange Symbols, uint32_t Index) |
| template<class ELFT > | |
| static bool | compareAddr (uint64_t VAddr, const Elf_Phdr_Impl< ELFT > *Phdr) |
| unsigned | hashSysV (StringRef SymbolName) |
| This function returns the hash value for a symbol in the .dynsym section Name of the API remains consistent as specified in the libelf REF : http://www.sco.com/developers/gabi/latest/ch5.dynamic.html#hash. More... | |
| const std::error_category & | object_category () |
| std::error_code | make_error_code (object_error e) |
| Error | isNotObjectErrorInvalidFileType (llvm::Error Err) |
| isNotObjectErrorInvalidFileType() is used when looping through the children of an archive after calling getAsBinary() on the child and it returns an llvm::Error. More... | |
| template<typename OStream > | |
| OStream & | operator<< (OStream &OS, const DataRefImpl &D) |
| bool | operator== (const DataRefImpl &a, const DataRefImpl &b) |
| bool | operator!= (const DataRefImpl &a, const DataRefImpl &b) |
| bool | operator< (const DataRefImpl &a, const DataRefImpl &b) |
| int | compareAddress (const SymEntry *A, const SymEntry *B) |
| std::vector< std::pair < SymbolRef, uint64_t > > | computeSymbolSizes (const ObjectFile &O) |
Definition at line 38 of file Object/COFF.h.
Definition at line 126 of file SymbolicFile.h.
Definition at line 185 of file Object/MachO.h.
Definition at line 253 of file Object/COFF.h.
Definition at line 254 of file Object/COFF.h.
Definition at line 544 of file Object/COFF.h.
Definition at line 545 of file Object/COFF.h.
| typedef content_iterator<DelayImportDirectoryEntryRef> llvm::object::delay_import_directory_iterator |
Definition at line 35 of file Object/COFF.h.
Definition at line 50 of file Object/MachO.h.
| typedef ELFType<support::big, false> llvm::object::ELF32BE |
Definition at line 81 of file ELFTypes.h.
| typedef ELFFile<ELFType<support::big, false> > llvm::object::ELF32BEFile |
Definition at line 166 of file Object/ELF.h.
Definition at line 374 of file ELFObjectFile.h.
| typedef ELFType<support::little, false> llvm::object::ELF32LE |
Definition at line 80 of file ELFTypes.h.
| typedef ELFFile<ELFType<support::little, false> > llvm::object::ELF32LEFile |
Definition at line 164 of file Object/ELF.h.
Definition at line 372 of file ELFObjectFile.h.
| typedef ELFType<support::big, true> llvm::object::ELF64BE |
Definition at line 83 of file ELFTypes.h.
| typedef ELFFile<ELFType<support::big, true> > llvm::object::ELF64BEFile |
Definition at line 167 of file Object/ELF.h.
Definition at line 375 of file ELFObjectFile.h.
| typedef ELFType<support::little, true> llvm::object::ELF64LE |
Definition at line 82 of file ELFTypes.h.
| typedef ELFFile<ELFType<support::little, true> > llvm::object::ELF64LEFile |
Definition at line 165 of file Object/ELF.h.
Definition at line 373 of file ELFObjectFile.h.
Definition at line 36 of file Object/COFF.h.
Definition at line 101 of file Object/MachO.h.
Definition at line 229 of file Object/COFF.h.
Definition at line 230 of file Object/COFF.h.
Definition at line 32 of file Object/COFF.h.
Definition at line 194 of file Object/COFF.h.
Definition at line 196 of file Object/COFF.h.
Definition at line 37 of file Object/COFF.h.
Definition at line 137 of file Object/MachO.h.
Definition at line 66 of file ObjectFile.h.
Definition at line 36 of file ObjectFile.h.
|
strong |
| Enumerator | |
|---|---|
| arch_not_found | |
| invalid_file_type | |
| parse_failed | |
| unexpected_eof | |
| string_table_non_null_end | |
| invalid_section_index | |
| bitcode_section_not_found | |
| invalid_symbol_index | |
Definition at line 28 of file Object/Error.h.
|
static |
Definition at line 343 of file Object/ELF.h.
Definition at line 20 of file SymbolSize.cpp.
References llvm::object::SymEntry::Address, and llvm::object::SymEntry::SectionID.
Referenced by computeSymbolSizes().
| std::vector< std::pair< SymbolRef, uint64_t > > llvm::object::computeSymbolSizes | ( | const ObjectFile & | O | ) |
Definition at line 41 of file SymbolSize.cpp.
References llvm::dwarf::syntax::Address, llvm::array_pod_sort(), compareAddress(), E, getSectionID(), getSymbolSectionID(), llvm::object::SymbolRef::getValue(), I, N, P, llvm::MipsISD::Ret, llvm::object::ObjectFile::sections(), llvm::object::SymbolicFile::symbol_begin(), and llvm::object::SymbolicFile::symbol_end().
Referenced by llvm::symbolize::SymbolizableObjectFile::create().
| Expected< std::unique_ptr< Binary > > llvm::object::createBinary | ( | MemoryBufferRef | Source, |
| LLVMContext * | Context = nullptr |
||
| ) |
Create a Binary from Source, autodetecting the file type.
| Source | The data to create the Binary from. |
Definition at line 39 of file Binary.cpp.
References llvm::sys::fs::file_magic::archive, llvm::sys::fs::file_magic::bitcode, llvm::sys::fs::file_magic::coff_cl_gl_object, llvm::sys::fs::file_magic::coff_import_library, llvm::sys::fs::file_magic::coff_object, llvm::object::MachOUniversalBinary::create(), llvm::object::Archive::create(), llvm::object::SymbolicFile::createSymbolicFile(), llvm::sys::fs::file_magic::elf, llvm::sys::fs::file_magic::elf_core, llvm::sys::fs::file_magic::elf_executable, llvm::sys::fs::file_magic::elf_relocatable, llvm::sys::fs::file_magic::elf_shared_object, llvm::errorCodeToError(), llvm::MemoryBufferRef::getBuffer(), llvm::sys::fs::identify_magic(), invalid_file_type, llvm_unreachable, llvm::sys::fs::file_magic::macho_bundle, llvm::sys::fs::file_magic::macho_core, llvm::sys::fs::file_magic::macho_dsym_companion, llvm::sys::fs::file_magic::macho_dynamic_linker, llvm::sys::fs::file_magic::macho_dynamically_linked_shared_lib, llvm::sys::fs::file_magic::macho_dynamically_linked_shared_lib_stub, llvm::sys::fs::file_magic::macho_executable, llvm::sys::fs::file_magic::macho_fixed_virtual_memory_shared_lib, llvm::sys::fs::file_magic::macho_kext_bundle, llvm::sys::fs::file_magic::macho_object, llvm::sys::fs::file_magic::macho_preload_executable, llvm::sys::fs::file_magic::macho_universal_binary, llvm::sys::fs::file_magic::pecoff_executable, llvm::sys::fs::file_magic::unknown, llvm::sys::fs::file_magic::wasm_object, and llvm::sys::fs::file_magic::windows_resource.
Referenced by createBinary(), llvm::object::Archive::Child::getAsBinary(), and loadBinaryFormat().
| Expected< OwningBinary< Binary > > llvm::object::createBinary | ( | StringRef | Path | ) |
Definition at line 79 of file Binary.cpp.
References createBinary(), llvm::errorCodeToError(), llvm::ErrorOr< T >::get(), llvm::Expected< T >::get(), llvm::ErrorOr< T >::getError(), llvm::MemoryBuffer::getFileOrSTDIN(), and llvm::Expected< T >::takeError().
|
inlinestatic |
Definition at line 36 of file Object/ELF.h.
References parse_failed.
Referenced by llvm::object::Decompressor::create(), llvm::object::Decompressor::decompress(), llvm::object::ELFFile< ELFT >::getEntry(), getExtendedSymbolTableIndex(), getSection(), llvm::object::ELFFile< ELFT >::getSectionContentsAsArray(), llvm::object::ELFFile< ELFT >::getSectionName(), llvm::object::ELFFile< ELFT >::getSectionStringTable(), llvm::object::ELFFile< ELFT >::getSHNDXTable(), llvm::object::ELFFile< ELFT >::getStringTable(), llvm::object::ELFFile< ELFT >::getStringTableForSymtab(), getSymbol(), llvm::object::ELFFile< ELFT >::program_headers(), and llvm::object::ELFFile< ELFT >::sections().
Definition at line 28 of file Object/ELF.h.
References llvm::ELF::EI_CLASS, llvm::ELF::EI_DATA, llvm::ELF::EI_NIDENT, llvm::ELF::ELFCLASSNONE, llvm::ELF::ELFDATANONE, and llvm::StringRef::size().
Referenced by llvm::object::ObjectFile::createELFObjectFile().
Definition at line 19 of file ELF.cpp.
References llvm::ELF::EM_386, llvm::ELF::EM_AARCH64, llvm::ELF::EM_AMDGPU, llvm::ELF::EM_ARM, llvm::ELF::EM_AVR, llvm::ELF::EM_BPF, llvm::ELF::EM_HEXAGON, llvm::ELF::EM_IAMCU, llvm::ELF::EM_LANAI, llvm::ELF::EM_MIPS, llvm::ELF::EM_PPC, llvm::ELF::EM_PPC64, llvm::ELF::EM_RISCV, llvm::ELF::EM_S390, llvm::ELF::EM_SPARC, llvm::ELF::EM_SPARC32PLUS, llvm::ELF::EM_SPARCV9, llvm::ELF::EM_WEBASSEMBLY, and llvm::ELF::EM_X86_64.
Referenced by llvm::object::ELFFile< ELFT >::getRelocationTypeName(), and llvm::object::ELFObjectFile< ELFT >::getRelocationTypeName().
|
inline |
Definition at line 179 of file Object/ELF.h.
References assert(), createError(), llvm::ELF::SHN_XINDEX, and llvm::ArrayRef< T >::size().
|
inline |
Definition at line 171 of file Object/ELF.h.
References createError().
Referenced by llvm::object::ELFFile< ELFT >::getEntry(), llvm::object::ELFObjectFile< ELFT >::getRelocatedSection(), llvm::object::ELFFile< ELFT >::getSection(), llvm::object::ELFObjectFile< ELFT >::getSectionAddress(), llvm::object::ELFObjectFile< ELFT >::getSectionAlignment(), llvm::object::ELFObjectFile< ELFT >::getSectionContents(), llvm::object::ELFObjectFile< ELFT >::getSectionFlags(), llvm::object::ELFObjectFile< ELFT >::getSectionName(), llvm::object::ELFObjectFile< ELFT >::getSectionOffset(), llvm::object::ELFObjectFile< ELFT >::getSectionSize(), llvm::object::ELFObjectFile< ELFT >::getSectionType(), llvm::object::ELFObjectFile< ELFT >::isSectionBSS(), llvm::object::ELFObjectFile< ELFT >::isSectionCompressed(), llvm::object::ELFObjectFile< ELFT >::isSectionData(), llvm::object::ELFObjectFile< ELFT >::isSectionText(), llvm::object::ELFObjectFile< ELFT >::isSectionVirtual(), LLVMGetSection(), LLVMMoveToContainingSection(), and llvm::object::ELFObjectFile< ELFT >::moveSectionNext().
|
inline |
Definition at line 236 of file Object/ELF.h.
References createError().
Referenced by duplicateCPV(), llvm::MipsTargetELFStreamer::emitAssignment(), llvm::object::ELFObjectFile< ELFT >::getCommonSymbolSizeImpl(), llvm::object::ELFObjectFile< ELFT >::getSymbolAddress(), llvm::object::ELFObjectFile< ELFT >::getSymbolAlignment(), llvm::object::ELFObjectFile< ELFT >::getSymbolELFType(), llvm::object::ELFObjectFile< ELFT >::getSymbolFlags(), llvm::object::ELFObjectFile< ELFT >::getSymbolName(), llvm::object::ELFObjectFile< ELFT >::getSymbolOther(), llvm::object::ELFObjectFile< ELFT >::getSymbolSection(), llvm::object::ELFObjectFile< ELFT >::getSymbolType(), llvm::object::ELFObjectFile< ELFT >::getSymbolValueImpl(), llvm::MCParserUtils::isSymbolUsedInExpression(), LLVMGetRelocationSymbol(), llvm::MSP430TargetLowering::LowerExternalSymbol(), llvm::MIPrinter::print(), llvm::NVPTXInstPrinter::printProtoIdent(), llvm::object::Elf_Rel_Impl< ELFType< TargetEndianness, false >, false >::setType(), llvm::object::Elf_Rel_Impl< ELFType< TargetEndianness, true >, false >::setType(), and llvm::MCStreamer::visitUsedExpr().
|
inline |
This function returns the hash value for a symbol in the .dynsym section Name of the API remains consistent as specified in the libelf REF : http://www.sco.com/developers/gabi/latest/ch5.dynamic.html#hash.
Definition at line 511 of file Object/ELF.h.
| llvm::Error llvm::object::isNotObjectErrorInvalidFileType | ( | llvm::Error | Err | ) |
isNotObjectErrorInvalidFileType() is used when looping through the children of an archive after calling getAsBinary() on the child and it returns an llvm::Error.
In the cases we want to loop through the children and ignore the non-objects in the archive this is used to test the error to see if an error() function needs to called on the llvm::Error.
Definition at line 80 of file Object/Error.cpp.
References llvm::lltok::Error, llvm::handleErrors(), invalid_file_type, and llvm::Error::success().
|
inline |
Definition at line 40 of file Object/Error.h.
References object_category().
Referenced by llvm::object::BinaryError::BinaryError(), and llvm::object::GenericBinaryError::GenericBinaryError().
| const std::error_category & llvm::object::object_category | ( | ) |
Definition at line 76 of file Object/Error.cpp.
References error_category.
Referenced by make_error_code().
Definition at line 46 of file SymbolicFile.h.
References operator==().
Definition at line 50 of file SymbolicFile.h.
| OStream& llvm::object::operator<< | ( | OStream & | OS, |
| const DataRefImpl & | D | ||
| ) |
Definition at line 35 of file SymbolicFile.h.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, llvm::format(), and llvm::object::DataRefImpl::p.
Definition at line 40 of file SymbolicFile.h.
Referenced by operator!=().
1.8.6