LLVM 22.0.0git
|
This class is the base class for all object file types. More...
#include "llvm/Object/ObjectFile.h"
Public Types | |
using | symbol_iterator_range = iterator_range<symbol_iterator> |
using | section_iterator_range = iterator_range<section_iterator> |
Public Types inherited from llvm::object::SymbolicFile | |
using | basic_symbol_iterator_range = iterator_range<basic_symbol_iterator> |
Friends | |
class | SymbolRef |
class | SectionRef |
class | RelocationRef |
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 } |
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 |
This class is the base class for all object file types.
Concrete instances of this object are created by createObjectFile, which figures out which type to create.
Definition at line 231 of file ObjectFile.h.
Definition at line 330 of file ObjectFile.h.
Definition at line 322 of file ObjectFile.h.
|
protected |
Definition at line 44 of file ObjectFile.cpp.
References llvm::object::SymbolicFile::SymbolicFile().
Referenced by createWasmObjectFile(), llvm::object::ELFObjectFileBase::ELFObjectFileBase(), llvm::object::GOFFObjectFile::GOFFObjectFile(), ObjectFile(), operator=(), and llvm::object::WasmObjectFile::WasmObjectFile().
|
delete |
|
delete |
References ObjectFile().
Definition at line 237 of file ObjectFile.h.
References llvm::object::Binary::Data.
Referenced by llvm::object::ELFObjectFile< ELFT >::dynamic_relocation_sections(), llvm::object::COFFObjectFile::getDOSHeader(), llvm::object::COFFObjectFile::getHybridObjectView(), llvm::object::COFFObjectFile::getRelocations(), llvm::object::COFFObjectFile::getRvaAndSizeAsBytes(), llvm::object::COFFObjectFile::getRvaPtr(), llvm::object::COFFObjectFile::getSectionContents(), llvm::object::ELFObjectFile< ELFT >::getSectionContents(), llvm::object::XCOFFObjectFile::getSectionContents(), llvm::object::XCOFFObjectFile::getSectionFileOffsetToRawData(), llvm::object::COFFObjectFile::getSymbolAuxData(), llvm::object::GOFFObjectFile::GOFFObjectFile(), llvm::object::COFFObjectFile::section_rel_begin(), and llvm::object::COFFObjectFile::section_rel_end().
Definition at line 382 of file ObjectFile.h.
|
static |
Definition at line 1896 of file COFFObjectFile.cpp.
References llvm::object::COFFObjectFile::create().
Referenced by llvm::jitlink::createLinkGraphFromCOFFObject_x86_64(), and createObjectFile().
|
static |
Definition at line 692 of file DXContainer.cpp.
References llvm::object::DXContainer::create().
Referenced by createObjectFile().
|
static |
Definition at line 72 of file ELFObjectFile.cpp.
References llvm::countr_zero(), llvm::object::createError(), createPtr(), llvm::ELF::ELFCLASS32, llvm::ELF::ELFCLASS64, llvm::ELF::ELFDATA2LSB, llvm::ELF::ELFDATA2MSB, llvm::MemoryBufferRef::getBuffer(), llvm::MemoryBufferRef::getBufferStart(), and llvm::object::getElfArchType().
Referenced by llvm::jitlink::createLinkGraphFromELFObject_aarch64(), llvm::jitlink::createLinkGraphFromELFObject_loongarch(), llvm::jitlink::createLinkGraphFromELFObject_ppc64(), llvm::jitlink::createLinkGraphFromELFObject_riscv(), llvm::jitlink::createLinkGraphFromELFObject_x86(), llvm::jitlink::createLinkGraphFromELFObject_x86_64(), and createObjectFile().
|
static |
Definition at line 28 of file GOFFObjectFile.cpp.
References llvm::Error::success().
|
static |
Create a MachOObjectFile instance from a given buffer.
Buffer | Memory buffer containing the MachO binary data. |
UniversalCputype | CPU type when the MachO part of a universal binary. |
UniversalIndex | Index of the MachO within a universal binary. |
MachOFilesetEntryOffset | Offset of the MachO entry in a fileset MachO. |
Definition at line 5320 of file MachOObjectFile.cpp.
References llvm::object::MachOObjectFile::create(), llvm::MemoryBufferRef::getBuffer(), llvm::object::invalid_file_type, llvm::make_error(), and llvm::StringRef::slice().
Referenced by llvm::jitlink::createLinkGraphFromMachOObject_arm64(), llvm::jitlink::createLinkGraphFromMachOObject_x86_64(), createObjectFile(), and llvm::object::MachOUniversalBinary::ObjectForArch::getAsObjectFile().
|
inlinestatic |
Definition at line 378 of file ObjectFile.h.
References createObjectFile(), and llvm::file_magic::unknown.
|
static |
Definition at line 150 of file ObjectFile.cpp.
References llvm::file_magic::archive, llvm::file_magic::bitcode, llvm::file_magic::clang_ast, llvm::file_magic::coff_cl_gl_object, llvm::file_magic::coff_import_library, llvm::file_magic::coff_object, createCOFFObjectFile(), createDXContainerObjectFile(), createELFObjectFile(), createMachOObjectFile(), createWasmObjectFile(), createXCOFFObjectFile(), llvm::file_magic::cuda_fatbinary, 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::file_magic::goff_object, llvm::object::Binary::ID_XCOFF32, llvm::object::Binary::ID_XCOFF64, llvm::identify_magic(), llvm::object::invalid_file_type, 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::macho_universal_binary, llvm::file_magic::minidump, llvm::file_magic::offload_binary, llvm::file_magic::offload_bundle, llvm::file_magic::offload_bundle_compressed, llvm::file_magic::pdb, llvm::file_magic::pecoff_executable, llvm::file_magic::spirv_object, llvm::file_magic::tapi_file, llvm::file_magic::unknown, llvm::file_magic::wasm_object, llvm::file_magic::windows_resource, llvm::file_magic::xcoff_object_32, and llvm::file_magic::xcoff_object_64.
|
static |
ObjectPath | The path to the object file. ObjectPath.isObject must return true. Create ObjectFile from path. |
Definition at line 211 of file ObjectFile.cpp.
References createObjectFile(), llvm::errorCodeToError(), llvm::ErrorOr< T >::get(), llvm::Expected< T >::get(), llvm::ErrorOr< T >::getError(), llvm::MemoryBuffer::getFile(), and llvm::Expected< T >::takeError().
Referenced by llvm::jitlink::createLinkGraphFromXCOFFObject_ppc64(), createObjectFile(), createObjectFile(), llvm::object::SymbolicFile::createSymbolicFile(), llvm::NewArchiveMember::detectKindFromObject(), llvm::orc::RTDyldObjectLinkingLayer::emit(), llvm::object::extractOffloadBinaries(), llvm::object::extractOffloadBundleByURI(), llvm::object::IRObjectFile::findBitcodeInMemBuffer(), llvm::MCJIT::generateCodeForModule(), llvm::orc::getObjectFileInterface(), isRelocatableObject(), LLVMCreateObjectFile(), llvm::xray::loadInstrumentationMap(), llvm::cgdata::mergeCodeGenData(), llvm::orc::ForceLoadMachOArchiveMembers::operator()(), llvm::orc::SimpleCompiler::operator()(), llvm::dwarf_linker::parallel::SectionDescriptor::setSizesForSectionCreatedByAsmPrinter(), llvm::write(), and llvm::yaml::yaml2ObjectFile().
|
static |
Definition at line 66 of file WasmObjectFile.cpp.
References ObjectFile(), and llvm::Error::success().
Referenced by createObjectFile().
|
static |
Definition at line 1236 of file XCOFFObjectFile.cpp.
Referenced by createObjectFile().
|
inlinevirtual |
Reimplemented in ELFObjectFile< ELFT >, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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 >, and llvm::object::ELFObjectFile< ELF64LE >.
Definition at line 318 of file ObjectFile.h.
|
pure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
Referenced by llvm::symbolize::SymbolizableObjectFile::create(), llvm::object::getRelocationResolver(), llvm::RuntimeDyld::loadObject(), llvm::RuntimeDyldImpl::loadObjectImpl(), and makeTriple().
|
pure virtual |
The number of bytes used to represent an address in this object file format.
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
Referenced by llvm::symbolize::SymbolizableObjectFile::create(), and llvm::object::getRelocationResolver().
|
inline |
Definition at line 309 of file ObjectFile.h.
References assert(), getCommonSymbolSizeImpl(), llvm::object::SymbolicFile::getSymbolFlags(), llvm::report_fatal_error(), llvm::object::BasicSymbolRef::SF_Common, and llvm::Expected< T >::takeError().
Referenced by llvm::object::SymbolRef::getCommonSize(), and getSymbolValue().
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
Referenced by getCommonSymbolSize().
|
pure virtual |
|
pure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
|
inlinevirtual |
Reimplemented in ELFObjectFile< ELFT >, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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 >, and llvm::object::ELFObjectFile< ELF64LE >.
Definition at line 343 of file ObjectFile.h.
References llvm::Triple::UnknownOS.
Referenced by makeTriple().
|
protectedvirtual |
Reimplemented in ELFObjectFile< ELFT >, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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 >, and llvm::object::ELFObjectFile< ELF64LE >.
Definition at line 106 of file ObjectFile.cpp.
References SectionRef.
Referenced by section_rel_end().
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
Referenced by isSectionBitcode().
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
Reimplemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, 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 >, and llvm::object::XCOFFObjectFile.
Definition at line 349 of file ObjectFile.h.
References llvm::errorCodeToError(), and llvm::object::parse_failed.
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
Referenced by llvm::object::SymbolRef::getAddress().
|
protectedvirtual |
Reimplemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
Definition at line 78 of file ObjectFile.cpp.
Referenced by llvm::object::SymbolRef::getAlignment(), and getSymbolValueImpl().
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
References printSymbolName().
Referenced by llvm::object::SymbolRef::getName(), and printSymbolName().
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
Referenced by llvm::object::SymbolRef::getSection().
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
Referenced by llvm::object::SymbolRef::getType().
|
protected |
Definition at line 57 of file ObjectFile.cpp.
References getCommonSymbolSize(), llvm::object::SymbolicFile::getSymbolFlags(), getSymbolValueImpl(), llvm::Ref, llvm::object::BasicSymbolRef::SF_Common, and llvm::object::BasicSymbolRef::SF_Undefined.
Referenced by llvm::object::COFFObjectFile::getSymbolAddress(), llvm::object::MachOObjectFile::getSymbolAddress(), llvm::object::WasmObjectFile::getSymbolAddress(), and llvm::object::SymbolRef::getValue().
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::WasmObjectFile, and llvm::object::XCOFFObjectFile.
References getSymbolAlignment().
Referenced by getSymbolValue().
|
virtual |
Definition at line 100 of file ObjectFile.cpp.
References llvm::any_of(), llvm::object::SectionRef::isDebugSection(), SectionRef, and sections().
Referenced by llvm::symbolize::useBTFContext().
|
protectedvirtual |
Reimplemented in ELFObjectFile< ELFT >, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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 >, and llvm::object::ELFObjectFile< ELF64LE >.
Definition at line 94 of file ObjectFile.cpp.
References isSectionData().
Referenced by isSectionVirtual().
|
protectedvirtual |
Reimplemented in ELFObjectFile< ELFT >, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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 >, and llvm::object::ELFObjectFile< ELF64LE >.
Definition at line 90 of file ObjectFile.cpp.
References isSectionText().
Referenced by isSectionVirtual().
|
protectedvirtual |
Reimplemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, 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::MachOObjectFile, and llvm::object::XCOFFObjectFile.
Definition at line 98 of file ObjectFile.cpp.
bool ObjectFile::isReflectionSectionStrippable | ( | llvm::binaryformat::Swift5ReflectionSectionKind | ReflectionSectionKind | ) | const |
True if the reflection section can be stripped by the linker.
Definition at line 227 of file ObjectFile.cpp.
Referenced by isRelocatableObject().
|
pure virtual |
True if this is a relocatable object (.o/.obj).
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
References createObjectFile(), and isReflectionSectionStrippable().
Referenced by shouldSkipSectionFirstByte().
|
protectedvirtual |
Reimplemented in llvm::object::MachOObjectFile.
Definition at line 80 of file ObjectFile.cpp.
References llvm::consumeError(), getSectionName(), and llvm::Expected< T >::takeError().
Referenced by isSectionVirtual().
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
Referenced by isBerkeleyData().
|
protectedvirtual |
Reimplemented in llvm::object::MachOObjectFile.
Definition at line 88 of file ObjectFile.cpp.
Referenced by isSectionVirtual().
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
Referenced by isBerkeleyText().
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
References isBerkeleyData(), isBerkeleyText(), isSectionBitcode(), and isSectionStripped().
Triple ObjectFile::makeTriple | ( | ) | const |
Create a triple from the data in this object file.
Definition at line 110 of file ObjectFile.cpp.
References llvm::Triple::AIX, llvm::Triple::AMD, llvm::Triple::arm, llvm::Triple::armeb, llvm::cast(), getArch(), getOS(), llvm::Triple::GOFF, llvm::Triple::isAMDGPU(), llvm::object::Binary::isCOFF(), llvm::object::Binary::isGOFF(), llvm::object::Binary::isMachO(), llvm::Triple::isNVPTX(), llvm::object::Binary::isXCOFF(), llvm::Triple::MachO, llvm::Triple::NVIDIA, llvm::Triple::setArch(), setARMSubArch(), llvm::Triple::setObjectFormat(), llvm::Triple::setOS(), llvm::Triple::setTriple(), llvm::Triple::setVendor(), llvm::Triple::thumb, llvm::Triple::UnknownOS, llvm::Triple::XCOFF, and llvm::Triple::ZOS.
Referenced by llvm::object::ELFObjectFileBase::getPltEntries(), getUUID(), llvm::CodeGenDataReader::mergeFromObjectFile(), and llvm::symbolize::useBTFContext().
|
inlinevirtual |
Maps a debug section name to a standard DWARF section name.
Reimplemented in llvm::objcopy::coff::COFFObjectFile, llvm::object::COFFObjectFile, llvm::object::MachOObjectFile, and llvm::object::XCOFFObjectFile.
Definition at line 357 of file ObjectFile.h.
|
inlineprotectedvirtual |
Reimplemented in llvm::object::MachOObjectFile.
Definition at line 298 of file ObjectFile.h.
References llvm::binaryformat::unknown.
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
|
delete |
References ObjectFile().
|
overrideprotectedvirtual |
Implements llvm::object::SymbolicFile.
Definition at line 70 of file ObjectFile.cpp.
References getSymbolName(), and llvm::Error::success().
Referenced by getSymbolName().
|
pure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
Referenced by llvm::RuntimeDyldImpl::computeGOTSize(), llvm::RuntimeDyldImpl::computeSectionStubBufSize(), llvm::RuntimeDyldImpl::computeTotalAllocSize(), llvm::RuntimeDyldELF::finalizeLoad(), llvm::RuntimeDyldImpl::loadObjectImpl(), and sections().
|
pure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
Referenced by llvm::RuntimeDyldImpl::computeGOTSize(), llvm::RuntimeDyldImpl::computeSectionStubBufSize(), llvm::RuntimeDyldImpl::computeTotalAllocSize(), llvm::RuntimeDyldELF::finalizeLoad(), getSymbolInfo(), llvm::RuntimeDyldImpl::loadObjectImpl(), llvm::RuntimeDyldCOFFAArch64::processRelocationRef(), llvm::RuntimeDyldCOFFI386::processRelocationRef(), llvm::RuntimeDyldCOFFThumb::processRelocationRef(), llvm::RuntimeDyldCOFFX86_64::processRelocationRef(), llvm::RuntimeDyldELF::processRelocationRef(), and sections().
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
|
protectedpure virtual |
Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy::elf::ELFObjectFile< ELFT >, 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::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.
References getRelocatedSection().
|
inline |
Definition at line 331 of file ObjectFile.h.
References section_begin(), and section_end().
Referenced by llvm::object::BindRebaseSegInfo::BindRebaseSegInfo(), llvm::symbolize::SymbolizableObjectFile::create(), llvm::object::extractOffloadBundleFatBinary(), llvm::RuntimeDyldMachOCRTPBase< Impl >::finalizeLoad(), llvm::object::IRObjectFile::findBitcodeInObject(), llvm::orc::getCOFFObjectFileSymbolInfo(), llvm::orc::getELFObjectFileSymbolInfo(), getInstrProfSection(), llvm::orc::getMachOObjectFileSymbolInfo(), llvm::object::ELFObjectFileBase::getPltEntries(), llvm::remarks::getRemarksSectionContents(), llvm::object::COFFObjectFile::getRvaAndSizeAsBytes(), llvm::object::COFFObjectFile::getRvaPtr(), llvm::object::MachOObjectFile::getSection(), getUUID(), llvm::BTFParser::hasBTFSections(), hasDebugInfo(), llvm::logicalview::LVBinaryReader::mapVirtualAddress(), llvm::logicalview::LVBinaryReader::mapVirtualAddress(), llvm::CodeGenDataReader::mergeFromObjectFile(), llvm::BTFParser::parse(), and readMachOHeader().
|
inlinevirtual |
Reimplemented in llvm::object::ELFObjectFileBase.
Definition at line 348 of file ObjectFile.h.
Referenced by makeTriple().
|
inline |
Definition at line 323 of file ObjectFile.h.
References llvm::object::SymbolicFile::symbol_begin(), and llvm::object::SymbolicFile::symbol_end().
Referenced by accumulateLocs(), llvm::object::MachOObjectFile::checkSymbolTable(), llvm::gsym::ObjectFileTransformer::convert(), llvm::orc::getCOFFObjectFileSymbolInfo(), llvm::orc::getGenericObjectFileSymbolInfo(), llvm::orc::getMachOObjectFileSymbolInfo(), llvm::orc::getXCOFFObjectFileSymbolInfo(), llvm::RuntimeDyldImpl::loadObjectImpl(), and readSymbols().
|
inlinevirtual |
Reimplemented in llvm::object::ELFObjectFileBase, and llvm::object::XCOFFObjectFile.
Definition at line 345 of file ObjectFile.h.
|
friend |
Definition at line 289 of file ObjectFile.h.
References RelocationRef.
Referenced by llvm::object::MachOObjectFile::extrel_begin(), llvm::object::MachOObjectFile::extrel_end(), llvm::object::COFFObjectFile::getCOFFRelocation(), llvm::object::XCOFFRelocation< llvm::support::ubig32_t >::getRelocatedLength(), llvm::object::WasmObjectFile::getWasmRelocation(), llvm::object::MachOObjectFile::locrel_begin(), llvm::object::MachOObjectFile::locrel_end(), RelocationRef, llvm::object::COFFObjectFile::section_rel_begin(), llvm::object::DXContainerObjectFile::section_rel_begin(), llvm::object::MachOObjectFile::section_rel_begin(), llvm::object::WasmObjectFile::section_rel_begin(), llvm::object::COFFObjectFile::section_rel_end(), llvm::object::DXContainerObjectFile::section_rel_end(), llvm::object::MachOObjectFile::section_rel_end(), llvm::object::WasmObjectFile::section_rel_end(), and llvm::object::XCOFFObjectFile::section_rel_end().
|
friend |
Definition at line 263 of file ObjectFile.h.
References SectionRef.
Referenced by llvm::object::MachOObjectFile::getAnyRelocationSection(), llvm::object::COFFObjectFile::getCOFFSection(), llvm::object::ELFObjectFileBase::getCrelDecodeProblem(), llvm::object::ELFObjectFileBase::getEIdentABIVersion(), llvm::object::ELFObjectFileBase::getPltEntries(), getRelocatedSection(), llvm::object::MachOObjectFile::getRelocationRelocatedSection(), llvm::object::COFFObjectFile::getRvaAndSizeAsBytes(), llvm::object::COFFObjectFile::getRvaPtr(), llvm::object::MachOObjectFile::getSection(), llvm::object::MachOObjectFile::getSection(), llvm::object::COFFObjectFile::getSectionID(), llvm::object::MachOObjectFile::getSectionID(), llvm::object::MachOObjectFile::getSectionType(), llvm::object::COFFObjectFile::getSymbolSection(), llvm::object::MachOObjectFile::getSymbolSection(), llvm::object::WasmObjectFile::getSymbolSection(), llvm::object::XCOFFObjectFile::getSymbolSection(), llvm::object::WasmObjectFile::getWasmSection(), hasDebugInfo(), llvm::object::COFFObjectFile::section_begin(), llvm::object::DXContainerObjectFile::section_begin(), llvm::object::GOFFObjectFile::section_begin(), llvm::object::MachOObjectFile::section_begin(), llvm::object::WasmObjectFile::section_begin(), llvm::object::XCOFFObjectFile::section_begin(), llvm::object::COFFObjectFile::section_end(), llvm::object::DXContainerObjectFile::section_end(), llvm::object::GOFFObjectFile::section_end(), llvm::object::MachOObjectFile::section_end(), llvm::object::WasmObjectFile::section_end(), llvm::object::XCOFFObjectFile::section_end(), SectionRef, and llvm::object::ELFObjectFile< ELF32LE >::toSectionRef().
|
friend |
Definition at line 249 of file ObjectFile.h.
References SymbolRef.
Referenced by llvm::object::MachOObjectFile::checkSymbolTable(), llvm::object::COFFObjectFile::getCOFFSymbol(), llvm::object::COFFObjectFile::getRelocationSymbol(), llvm::object::DXContainerObjectFile::getRelocationSymbol(), llvm::object::MachOObjectFile::getRelocationSymbol(), llvm::object::WasmObjectFile::getRelocationSymbol(), llvm::object::XCOFFObjectFile::getRelocationSymbol(), llvm::object::MachOObjectFile::getSymbolByIndex(), llvm::object::GOFFObjectFile::getSymbolName(), llvm::object::COFFObjectFile::getSymbolSectionID(), llvm::object::MachOObjectFile::getSymbolSectionID(), llvm::object::XCOFFObjectFile::getSymbolSectionID(), llvm::object::WasmObjectFile::getSymbolSectionId(), llvm::object::WasmObjectFile::getSymbolSize(), llvm::object::WasmObjectFile::getWasmSymbol(), llvm::object::GOFFObjectFile::GOFFSymbolRef, llvm::object::COFFObjectFile::symbol_begin(), llvm::object::DXContainerObjectFile::symbol_begin(), llvm::object::GOFFObjectFile::symbol_begin(), llvm::object::MachOObjectFile::symbol_begin(), llvm::object::XCOFFObjectFile::symbol_begin(), llvm::object::COFFObjectFile::symbol_end(), llvm::object::DXContainerObjectFile::symbol_end(), llvm::object::GOFFObjectFile::symbol_end(), llvm::object::MachOObjectFile::symbol_end(), llvm::object::XCOFFObjectFile::symbol_end(), and SymbolRef.