LLVM 22.0.0git
ELFObjHandler.cpp File Reference

Go to the source code of this file.

Classes

struct  llvm::ifs::DynamicEntries
class  ELFObjectFile< ELFT >

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::ifs

Functions

template<class ELFT>
static void llvm::ifs::initELFHeader (typename ELFT::Ehdr &ElfHeader, uint16_t Machine)
 This initializes an ELF file header with information specific to a binary dynamic shared object.
static Expected< StringRefllvm::ifs::terminatedSubstr (StringRef Str, size_t Offset)
 This function behaves similarly to StringRef::substr(), but attempts to terminate the returned StringRef at the first null terminator.
template<class ELFT>
static Error llvm::ifs::populateDynamic (DynamicEntries &Dyn, typename ELFT::DynRange DynTable)
 This function populates a DynamicEntries struct using an ELFT::DynRange.
template<class ELFT>
static IFSSymbol llvm::ifs::createELFSym (StringRef SymName, const typename ELFT::Sym &RawSym)
 This function creates an IFSSymbol and populates all members using information from a binary ELFT::Sym.
template<class ELFT>
static Error llvm::ifs::populateSymbols (IFSStub &TargetStub, const typename ELFT::SymRange DynSym, StringRef DynStr)
 This function populates an IFSStub with symbols using information read from an ELF binary.
template<class ELFT>
static Expected< std::unique_ptr< IFSStub > > llvm::ifs::buildStub (const ELFObjectFile< ELFT > &ElfObj)
 Returns a new IFSStub with all members populated from an ELFObjectFile.
template<class ELFT>
static Error llvm::ifs::writeELFBinaryToFile (StringRef FilePath, const IFSStub &Stub, bool WriteIfChanged)
 This function opens a file for writing and then writes a binary ELF stub to the file.
LLVM_ABI Expected< std::unique_ptr< IFSStub > > llvm::ifs::readELFFile (MemoryBufferRef Buf)
 Attempt to read a binary ELF file from a MemoryBuffer.
LLVM_ABI Error llvm::ifs::writeBinaryStub (StringRef FilePath, const IFSStub &Stub, bool WriteIfChanged=false)
 Attempt to write a binary ELF stub.