LLVM API Documentation
| typedef ELFObjectFile<ELFType<support::big, 2, false> > llvm::object::ELF32BEObjectFile |
Definition at line 846 of file Object/ELF.h.
| typedef ELFObjectFile<ELFType<support::little, 2, false> > llvm::object::ELF32LEObjectFile |
Definition at line 844 of file Object/ELF.h.
| typedef ELFObjectFile<ELFType<support::big, 2, true> > llvm::object::ELF64BEObjectFile |
Definition at line 847 of file Object/ELF.h.
| typedef ELFObjectFile<ELFType<support::little, 2, true> > llvm::object::ELF64LEObjectFile |
Definition at line 845 of file Object/ELF.h.
Definition at line 265 of file ObjectFile.h.
Definition at line 132 of file ObjectFile.h.
Definition at line 175 of file ObjectFile.h.
Definition at line 241 of file ObjectFile.h.
| static error_code llvm::object::advance | ( | T & | it, |
| size_t | Val | ||
| ) | [static] |
Definition at line 271 of file MachOObjectFile.cpp.
Referenced by advanceTo(), llvm::IntervalMapOverlaps< MapA, MapB >::advanceTo(), llvm::MipsTargetLowering::MipsCC::analyzeFormalArguments(), llvm::SwitchInst::CaseIteratorT< SwitchInst, ConstantInt, SubsetsIt, BasicBlock >::CaseIteratorT(), llvm::DOTGraphTraits< SelectionDAG * >::getEdgeTarget(), llvm::IntervalMapOverlaps< MapA, MapB >::IntervalMapOverlaps(), llvm::next(), llvm::prior(), llvm::IntervalMapOverlaps< MapA, MapB >::skipA(), and llvm::IntervalMapOverlaps< MapA, MapB >::skipB().
| static void llvm::object::advanceTo | ( | T & | it, |
| size_t | Val | ||
| ) | [static] |
Definition at line 280 of file MachOObjectFile.cpp.
References advance(), and llvm::report_fatal_error().
Referenced by printRelocationTargetName().
| error_code llvm::object::createBinary | ( | MemoryBuffer * | Source, |
| OwningPtr< Binary > & | Result | ||
| ) |
Create a Binary from Source, autodetecting the file type.
| Source | The data to create the Binary from. Ownership is transferred to Result if successful. If an error is returned, Source is destroyed by createBinary before returning. |
| Result | A pointer to the resulting Binary if no error occured. |
Definition at line 43 of file Binary.cpp.
References llvm::sys::Archive_FileType, llvm::sys::COFF_FileType, llvm::object::ObjectFile::createELFObjectFile(), llvm::object::ObjectFile::createMachOObjectFile(), llvm::sys::ELF_Core_FileType, llvm::sys::ELF_Executable_FileType, llvm::sys::ELF_Relocatable_FileType, llvm::sys::ELF_SharedObject_FileType, llvm::MemoryBuffer::getBufferSize(), llvm::MemoryBuffer::getBufferStart(), llvm::sys::IdentifyFileType(), llvm::errc::invalid_argument, llvm::object::object_error::invalid_file_type, llvm::sys::Mach_O_Bundle_FileType, llvm::sys::Mach_O_Core_FileType, llvm::sys::Mach_O_DynamicallyLinkedSharedLib_FileType, llvm::sys::Mach_O_DynamicallyLinkedSharedLibStub_FileType, llvm::sys::Mach_O_DynamicLinker_FileType, llvm::sys::Mach_O_Executable_FileType, llvm::sys::Mach_O_FixedVirtualMemorySharedLib_FileType, llvm::sys::Mach_O_Object_FileType, llvm::sys::Mach_O_PreloadExecutable_FileType, make_error_code(), llvm::object::object_error::success, llvm::OwningPtr< T >::swap(), and llvm::OwningPtr< T >::take().
Referenced by createBinary(), and llvm::object::Archive::Child::getAsBinary().
| error_code llvm::object::createBinary | ( | StringRef | Path, |
| OwningPtr< Binary > & | Result | ||
| ) |
Definition at line 98 of file Binary.cpp.
References createBinary(), ARMBuildAttrs::File, llvm::MemoryBuffer::getFileOrSTDIN(), and llvm::OwningPtr< T >::take().
| static unsigned llvm::object::elf_hash | ( | StringRef & | symbolName | ) | [inline, static] |
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 3013 of file Object/ELF.h.
References llvm::StringRef::size().
| static unsigned llvm::object::getCPUType | ( | const MachOObjectFile * | O | ) | [static] |
Definition at line 285 of file MachOObjectFile.cpp.
References llvm::object::macho::Header::CPUType, and llvm::object::MachOObjectFile::getHeader().
Referenced by llvm::object::MachOObjectFile::getArch(), llvm::object::MachOObjectFile::getFileFormatName(), and llvm::object::MachOObjectFile::isRelocationScattered().
| std::pair<unsigned char, unsigned char> llvm::object::getElfArchType | ( | MemoryBuffer * | Object | ) | [inline] |
Definition at line 53 of file Object/ELF.h.
References llvm::ELF::EI_CLASS, llvm::ELF::EI_DATA, llvm::ELF::EI_NIDENT, llvm::ELF::ELFCLASSNONE, llvm::ELF::ELFDATANONE, llvm::MemoryBuffer::getBufferSize(), and llvm::MemoryBuffer::getBufferStart().
Referenced by llvm::object::ObjectFile::createELFObjectFile().
| static error_code llvm::object::getELFRelocationAddend | ( | const RelocationRef | R, |
| int64_t & | Addend | ||
| ) | [inline, static] |
FIXME: Maybe we should have a base ElfObjectFile that is not a template and make these member functions?
Definition at line 2962 of file Object/ELF.h.
References llvm::object::RelocationRef::getObjectFile(), llvm::object::RelocationRef::getRawDataRefImpl(), and llvm_unreachable.
Referenced by llvm::RuntimeDyldELF::processRelocationRef().
| static error_code llvm::object::GetELFSymbolVersion | ( | const ObjectFile * | Obj, |
| const SymbolRef & | Sym, | ||
| StringRef & | Version, | ||
| bool & | IsDefault | ||
| ) | [inline, static] |
This is a generic interface for retrieving GNU symbol version information from an ELFObjectFile.
Definition at line 2987 of file Object/ELF.h.
References llvm_unreachable.
| static uint32_t llvm::object::getPlainRelocationAddress | ( | const macho::RelocationEntry & | RE | ) | [static] |
Definition at line 358 of file MachOObjectFile.cpp.
References llvm::object::macho::RelocationEntry::Word0.
Referenced by llvm::object::MachOObjectFile::getAnyRelocationAddress(), and llvm::object::MachOObjectFile::isRelocationScattered().
| static unsigned llvm::object::getPlainRelocationLength | ( | const MachOObjectFile * | O, |
| const macho::RelocationEntry & | RE | ||
| ) | [static] |
Definition at line 380 of file MachOObjectFile.cpp.
References llvm::object::Binary::isLittleEndian(), and llvm::object::macho::RelocationEntry::Word1.
Referenced by llvm::object::MachOObjectFile::getAnyRelocationLength().
| static bool llvm::object::getPlainRelocationPCRel | ( | const MachOObjectFile * | O, |
| const macho::RelocationEntry & | RE | ||
| ) | [static] |
Definition at line 367 of file MachOObjectFile.cpp.
References llvm::object::Binary::isLittleEndian(), and llvm::object::macho::RelocationEntry::Word1.
Referenced by llvm::object::MachOObjectFile::getAnyRelocationPCRel().
| static unsigned llvm::object::getPlainRelocationType | ( | const MachOObjectFile * | O, |
| const macho::RelocationEntry & | RE | ||
| ) | [static] |
Definition at line 392 of file MachOObjectFile.cpp.
References llvm::object::Binary::isLittleEndian(), and llvm::object::macho::RelocationEntry::Word1.
Referenced by llvm::object::MachOObjectFile::getAnyRelocationType().
| static const char* llvm::object::getPtr | ( | const MachOObjectFile * | O, |
| size_t | Offset | ||
| ) | [static] |
Definition at line 251 of file MachOObjectFile.cpp.
References llvm::StringRef::data(), llvm::object::Binary::getData(), and llvm::StringRef::substr().
Referenced by llvm::object::MachOObjectFile::begin_symbols(), llvm::object::MachOObjectFile::end_symbols(), llvm::object::MachOObjectFile::getDataInCodeTableEntry(), llvm::object::MachOObjectFile::getFirstLoadCommandInfo(), llvm::object::MachOObjectFile::getHeader(), llvm::object::MachOObjectFile::getHeader64Ext(), llvm::object::MachOObjectFile::getIndirectSymbolTableEntry(), llvm::object::MachOObjectFile::getRelocationSymbol(), llvm::object::MachOObjectFile::getSectionRelBegin(), and llvm::object::MachOObjectFile::getSectionRelEnd().
| static unsigned llvm::object::getScatteredRelocationAddress | ( | const macho::RelocationEntry & | RE | ) | [static] |
Definition at line 363 of file MachOObjectFile.cpp.
References llvm::object::macho::RelocationEntry::Word0.
Referenced by llvm::object::MachOObjectFile::getAnyRelocationAddress().
| static unsigned llvm::object::getScatteredRelocationLength | ( | const macho::RelocationEntry & | RE | ) | [static] |
Definition at line 388 of file MachOObjectFile.cpp.
References llvm::object::macho::RelocationEntry::Word0.
Referenced by llvm::object::MachOObjectFile::getAnyRelocationLength().
| static bool llvm::object::getScatteredRelocationPCRel | ( | const MachOObjectFile * | O, |
| const macho::RelocationEntry & | RE | ||
| ) | [static] |
Definition at line 375 of file MachOObjectFile.cpp.
References llvm::object::macho::RelocationEntry::Word0.
Referenced by llvm::object::MachOObjectFile::getAnyRelocationPCRel().
| static unsigned llvm::object::getScatteredRelocationType | ( | const macho::RelocationEntry & | RE | ) | [static] |
Definition at line 399 of file MachOObjectFile.cpp.
References llvm::object::macho::RelocationEntry::Word0.
Referenced by llvm::object::MachOObjectFile::getAnyRelocationType().
| static uint32_t llvm::object::getSectionFlags | ( | const MachOObjectFile * | O, |
| DataRefImpl | Sec | ||
| ) | [static] |
Definition at line 403 of file MachOObjectFile.cpp.
References llvm::object::macho::Section::Flags, llvm::object::macho::Section64::Flags, llvm::object::MachOObjectFile::getSection(), llvm::object::MachOObjectFile::getSection64(), and llvm::object::MachOObjectFile::is64Bit().
Referenced by llvm::object::MachOObjectFile::isSectionText(), and llvm::object::MachOObjectFile::isSectionZeroInit().
| static const char* llvm::object::getSectionPtr | ( | const MachOObjectFile * | O, |
| MachOObjectFile::LoadCommandInfo | L, | ||
| unsigned | Sec | ||
| ) | [static] |
Definition at line 237 of file MachOObjectFile.cpp.
References llvm::object::MachOObjectFile::is64Bit(), llvm::object::MachOObjectFile::LoadCommandInfo::Ptr, and llvm::COFF::SectionSize.
Referenced by llvm::object::MachOObjectFile::getSection(), llvm::object::MachOObjectFile::getSection64(), and llvm::object::MachOObjectFile::MachOObjectFile().
| static uint32_t llvm::object::getSegmentLoadCommandNumSections | ( | const MachOObjectFile * | O, |
| const MachOObjectFile::LoadCommandInfo & | L | ||
| ) | [static] |
Definition at line 226 of file MachOObjectFile.cpp.
References llvm::object::MachOObjectFile::getSegment64LoadCommand(), llvm::object::MachOObjectFile::getSegmentLoadCommand(), llvm::object::MachOObjectFile::is64Bit(), llvm::object::macho::SegmentLoadCommand::NumSections, and llvm::object::macho::Segment64LoadCommand::NumSections.
Referenced by llvm::object::MachOObjectFile::MachOObjectFile().
| T llvm::object::getStruct | ( | const MachOObjectFile * | O, |
| const char * | P | ||
| ) |
Definition at line 217 of file MachOObjectFile.cpp.
References llvm::object::Binary::isLittleEndian(), llvm::sys::IsLittleEndianHost, llvm::LibFunc::memcpy, and SwapStruct().
| static SymbolTableEntryBase llvm::object::getSymbolTableEntryBase | ( | const MachOObjectFile * | O, |
| DataRefImpl | DRI | ||
| ) | [static] |
Definition at line 256 of file MachOObjectFile.cpp.
References P, and llvm::object::DataRefImpl::p.
Referenced by llvm::object::MachOObjectFile::getSymbolAlignment(), llvm::object::MachOObjectFile::getSymbolFileOffset(), llvm::object::MachOObjectFile::getSymbolFlags(), llvm::object::MachOObjectFile::getSymbolName(), llvm::object::MachOObjectFile::getSymbolNMTypeChar(), llvm::object::MachOObjectFile::getSymbolSection(), llvm::object::MachOObjectFile::getSymbolSize(), and llvm::object::MachOObjectFile::getSymbolType().
| error_code llvm::object::make_error_code | ( | object_error | e | ) | [inline] |
Definition at line 38 of file Object/Error.h.
References object_category().
Referenced by createBinary().
| const error_category & llvm::object::object_category | ( | ) |
Definition at line 54 of file Object/Error.cpp.
Referenced by make_error_code().
| bool llvm::object::operator< | ( | const DataRefImpl & | a, |
| const DataRefImpl & | b | ||
| ) | [inline] |
Definition at line 85 of file ObjectFile.h.
References llvm::LibFunc::memcmp.
| bool llvm::object::operator== | ( | const DataRefImpl & | a, |
| const DataRefImpl & | b | ||
| ) | [inline] |
Definition at line 79 of file ObjectFile.h.
References llvm::LibFunc::memcmp.
| static StringRef llvm::object::parseSegmentOrSectionName | ( | const char * | P | ) | [static] |
Definition at line 261 of file MachOObjectFile.cpp.
Referenced by llvm::object::MachOObjectFile::getSectionFinalSegmentName(), and llvm::object::MachOObjectFile::getSectionName().
| static void llvm::object::printRelocationTargetName | ( | const MachOObjectFile * | O, |
| const macho::RelocationEntry & | RE, | ||
| raw_string_ostream & | fmt | ||
| ) | [static] |
Definition at line 289 of file MachOObjectFile.cpp.
References advanceTo(), llvm::object::MachOObjectFile::begin_sections(), llvm::object::MachOObjectFile::begin_symbols(), llvm::object::MachOObjectFile::end_sections(), llvm::object::MachOObjectFile::end_symbols(), llvm::format(), llvm::object::MachOObjectFile::getPlainRelocationExternal(), llvm::object::MachOObjectFile::getPlainRelocationSymbolNum(), llvm::object::content_iterator< content_type >::increment(), llvm::object::MachOObjectFile::isRelocationScattered(), llvm::error_code::message(), and llvm::report_fatal_error().
Referenced by llvm::object::MachOObjectFile::getRelocationValueString().
| static void llvm::object::SwapStruct | ( | T & | Value | ) | [static] |
Referenced by getStruct().
| void llvm::object::SwapStruct | ( | macho::RelocationEntry & | H | ) |
Definition at line 53 of file MachOObjectFile.cpp.
References SwapValue(), llvm::object::macho::RelocationEntry::Word0, and llvm::object::macho::RelocationEntry::Word1.
| void llvm::object::SwapStruct | ( | macho::LoadCommand & | L | ) |
Definition at line 59 of file MachOObjectFile.cpp.
References llvm::object::macho::LoadCommand::Size, SwapValue(), and llvm::object::macho::LoadCommand::Type.
| void llvm::object::SwapStruct | ( | SymbolTableEntryBase & | S | ) |
Definition at line 65 of file MachOObjectFile.cpp.
References llvm::object::SymbolTableEntryBase::Flags, llvm::object::SymbolTableEntryBase::StringIndex, and SwapValue().
| void llvm::object::SwapStruct | ( | macho::Section & | S | ) |
Definition at line 71 of file MachOObjectFile.cpp.
References llvm::object::macho::Section::Address, llvm::object::macho::Section::Align, llvm::object::macho::Section::Flags, llvm::object::macho::Section::NumRelocationTableEntries, llvm::object::macho::Section::Offset, llvm::object::macho::Section::RelocationTableOffset, llvm::object::macho::Section::Reserved1, llvm::object::macho::Section::Reserved2, llvm::object::macho::Section::Size, and SwapValue().
| void llvm::object::SwapStruct | ( | macho::Section64 & | S | ) |
Definition at line 84 of file MachOObjectFile.cpp.
References llvm::object::macho::Section64::Address, llvm::object::macho::Section64::Align, llvm::object::macho::Section64::Flags, llvm::object::macho::Section64::NumRelocationTableEntries, llvm::object::macho::Section64::Offset, llvm::object::macho::Section64::RelocationTableOffset, llvm::object::macho::Section64::Reserved1, llvm::object::macho::Section64::Reserved2, llvm::object::macho::Section64::Reserved3, llvm::object::macho::Section64::Size, and SwapValue().
| void llvm::object::SwapStruct | ( | macho::SymbolTableEntry & | S | ) |
Definition at line 98 of file MachOObjectFile.cpp.
References llvm::object::macho::SymbolTableEntry::Flags, llvm::object::macho::SymbolTableEntry::StringIndex, SwapValue(), and llvm::object::macho::SymbolTableEntry::Value.
| void llvm::object::SwapStruct | ( | macho::Symbol64TableEntry & | S | ) |
Definition at line 105 of file MachOObjectFile.cpp.
References llvm::object::macho::Symbol64TableEntry::Flags, llvm::object::macho::Symbol64TableEntry::StringIndex, SwapValue(), and llvm::object::macho::Symbol64TableEntry::Value.
| void llvm::object::SwapStruct | ( | macho::Header & | H | ) |
Definition at line 112 of file MachOObjectFile.cpp.
References llvm::object::macho::Header::CPUSubtype, llvm::object::macho::Header::CPUType, llvm::object::macho::Header::FileType, llvm::object::macho::Header::Flags, llvm::object::macho::Header::Magic, llvm::object::macho::Header::NumLoadCommands, llvm::object::macho::Header::SizeOfLoadCommands, and SwapValue().
| void llvm::object::SwapStruct | ( | macho::Header64Ext & | E | ) |
Definition at line 123 of file MachOObjectFile.cpp.
References llvm::object::macho::Header64Ext::Reserved, and SwapValue().
| void llvm::object::SwapStruct | ( | macho::SymtabLoadCommand & | C | ) |
Definition at line 128 of file MachOObjectFile.cpp.
References llvm::object::macho::SymtabLoadCommand::NumSymbolTableEntries, llvm::object::macho::SymtabLoadCommand::Size, llvm::object::macho::SymtabLoadCommand::StringTableOffset, llvm::object::macho::SymtabLoadCommand::StringTableSize, SwapValue(), llvm::object::macho::SymtabLoadCommand::SymbolTableOffset, and llvm::object::macho::SymtabLoadCommand::Type.
| void llvm::object::SwapStruct | ( | macho::DysymtabLoadCommand & | C | ) |
Definition at line 138 of file MachOObjectFile.cpp.
References llvm::object::macho::DysymtabLoadCommand::ExternalRelocationTableOffset, llvm::object::macho::DysymtabLoadCommand::ExternalSymbolsIndex, llvm::object::macho::DysymtabLoadCommand::IndirectSymbolTableOffset, llvm::object::macho::DysymtabLoadCommand::LocalRelocationTableOffset, llvm::object::macho::DysymtabLoadCommand::LocalSymbolsIndex, llvm::object::macho::DysymtabLoadCommand::ModuleTableOffset, llvm::object::macho::DysymtabLoadCommand::NumExternalRelocationTableEntries, llvm::object::macho::DysymtabLoadCommand::NumExternalSymbols, llvm::object::macho::DysymtabLoadCommand::NumIndirectSymbolTableEntries, llvm::object::macho::DysymtabLoadCommand::NumLocalRelocationTableEntries, llvm::object::macho::DysymtabLoadCommand::NumLocalSymbols, llvm::object::macho::DysymtabLoadCommand::NumModuleTableEntries, llvm::object::macho::DysymtabLoadCommand::NumReferencedSymbolTableEntries, llvm::object::macho::DysymtabLoadCommand::NumTOCEntries, llvm::object::macho::DysymtabLoadCommand::NumUndefinedSymbols, llvm::object::macho::DysymtabLoadCommand::ReferenceSymbolTableOffset, llvm::object::macho::DysymtabLoadCommand::Size, SwapValue(), llvm::object::macho::DysymtabLoadCommand::TOCOffset, llvm::object::macho::DysymtabLoadCommand::Type, and llvm::object::macho::DysymtabLoadCommand::UndefinedSymbolsIndex.
| void llvm::object::SwapStruct | ( | macho::LinkeditDataLoadCommand & | C | ) |
| void llvm::object::SwapStruct | ( | macho::SegmentLoadCommand & | C | ) |
Definition at line 170 of file MachOObjectFile.cpp.
References llvm::object::macho::SegmentLoadCommand::FileOffset, llvm::object::macho::SegmentLoadCommand::FileSize, llvm::object::macho::SegmentLoadCommand::Flags, llvm::object::macho::SegmentLoadCommand::InitialVMProtection, llvm::object::macho::SegmentLoadCommand::MaxVMProtection, llvm::object::macho::SegmentLoadCommand::NumSections, llvm::object::macho::SegmentLoadCommand::Size, SwapValue(), llvm::object::macho::SegmentLoadCommand::Type, llvm::object::macho::SegmentLoadCommand::VMAddress, and llvm::object::macho::SegmentLoadCommand::VMSize.
| void llvm::object::SwapStruct | ( | macho::Segment64LoadCommand & | C | ) |
Definition at line 184 of file MachOObjectFile.cpp.
References llvm::object::macho::Segment64LoadCommand::FileOffset, llvm::object::macho::Segment64LoadCommand::FileSize, llvm::object::macho::Segment64LoadCommand::Flags, llvm::object::macho::Segment64LoadCommand::InitialVMProtection, llvm::object::macho::Segment64LoadCommand::MaxVMProtection, llvm::object::macho::Segment64LoadCommand::NumSections, llvm::object::macho::Segment64LoadCommand::Size, SwapValue(), llvm::object::macho::Segment64LoadCommand::Type, llvm::object::macho::Segment64LoadCommand::VMAddress, and llvm::object::macho::Segment64LoadCommand::VMSize.
| void llvm::object::SwapStruct | ( | macho::IndirectSymbolTableEntry & | C | ) |
Definition at line 198 of file MachOObjectFile.cpp.
References llvm::object::macho::IndirectSymbolTableEntry::Index, and SwapValue().
| void llvm::object::SwapStruct | ( | macho::LinkerOptionsLoadCommand & | C | ) |
Definition at line 203 of file MachOObjectFile.cpp.
References llvm::object::macho::LinkerOptionsLoadCommand::Count, llvm::object::macho::LinkerOptionsLoadCommand::Size, SwapValue(), and llvm::object::macho::LinkerOptionsLoadCommand::Type.
| void llvm::object::SwapStruct | ( | macho::DataInCodeTableEntry & | C | ) |
Definition at line 210 of file MachOObjectFile.cpp.
References llvm::object::macho::DataInCodeTableEntry::Kind, llvm::object::macho::DataInCodeTableEntry::Length, llvm::object::macho::DataInCodeTableEntry::Offset, and SwapValue().
| static void llvm::object::SwapValue | ( | T & | Value | ) | [static] |
Definition at line 45 of file MachOObjectFile.cpp.
References llvm::sys::SwapByteOrder().
Referenced by SwapStruct().
| static const ArchiveMemberHeader* llvm::object::ToHeader | ( | const char * | base | ) | [static] |
Definition at line 60 of file Object/Archive.h.
Referenced by llvm::object::Archive::begin_children(), llvm::object::Archive::Child::Child(), llvm::object::Archive::Symbol::getMember(), llvm::object::Archive::Child::getName(), and llvm::object::Archive::Child::getNext().
| const uint64_t llvm::object::UnknownAddressOrSize = ~0ULL |
Definition at line 267 of file ObjectFile.h.
Referenced by llvm::object::COFFObjectFile::getSymbolAddress(), llvm::object::ELFObjectFile< ELFT >::getSymbolAddress(), llvm::object::COFFObjectFile::getSymbolFileOffset(), llvm::object::ELFObjectFile< ELFT >::getSymbolFileOffset(), llvm::object::MachOObjectFile::getSymbolSize(), llvm::object::COFFObjectFile::getSymbolSize(), and llvm::object::ELFObjectFile< ELFT >::getSymbolSize().