LLVM: lib/ObjectYAML/ELFEmitter.cpp File Reference (original) (raw)
The ELF component of yaml2obj. More...
Go to the source code of this file.
Namespaces | |
---|---|
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
namespace | llvm::yaml |
Functions | |
---|---|
template<class T > | |
static size_t | arrayDataSize (ArrayRef< T > A) |
template<class T > | |
static void | writeArrayData (raw_ostream &OS, ArrayRef< T > A) |
template<class T > | |
static void | zero (T &Obj) |
template | |
static void | overrideFields (ELFYAML::Section *From, typename ELFT::Shdr &To) |
static uint64_t | writeContent (ContiguousBlobAccumulator &CBA, const std::optional< yaml::BinaryRef > &Content, const std::optional< llvm::yaml::Hex64 > &Size) |
static StringRef | getDefaultLinkSec (unsigned SecType) |
static size_t | findFirstNonGlobal (ArrayRef< ELFYAML::Symbol > Symbols) |
static bool | shouldEmitDWARF (DWARFYAML::Data &DWARF, StringRef Name) |
template | |
Expected< uint64_t > | emitDWARF (typename ELFT::Shdr &SHeader, StringRef Name, const DWARFYAML::Data &DWARF, ContiguousBlobAccumulator &CBA) |
static bool | isMips64EL (const ELFYAML::Object &Obj) |
bool | llvm::yaml::yaml2elf (ELFYAML::Object &Doc, raw_ostream &Out, ErrorHandler EH, uint64_t MaxSize) |
The ELF component of yaml2obj.
Definition in file ELFEmitter.cpp.
◆ arrayDataSize()
template<class T >
static size_t arrayDataSize ( ArrayRef< T > A) | static |
---|
◆ emitDWARF()
◆ findFirstNonGlobal()
◆ getDefaultLinkSec()
Definition at line 734 of file ELFEmitter.cpp.
References llvm::ELF::SHT_DYNSYM, llvm::ELF::SHT_GNU_HASH, llvm::ELF::SHT_GNU_verdef, llvm::ELF::SHT_GNU_verneed, llvm::ELF::SHT_GNU_versym, llvm::ELF::SHT_GROUP, llvm::ELF::SHT_HASH, llvm::ELF::SHT_LLVM_ADDRSIG, llvm::ELF::SHT_LLVM_CALL_GRAPH_PROFILE, llvm::ELF::SHT_REL, llvm::ELF::SHT_RELA, and llvm::ELF::SHT_SYMTAB.
◆ isMips64EL()
Definition at line 1260 of file ELFEmitter.cpp.
References llvm::ELFYAML::FileHeader::Class, llvm::ELFYAML::FileHeader::Data, llvm::ELF::ELFCLASS64, llvm::ELF::ELFDATA2LSB, llvm::ELF::EM_MIPS, llvm::ELFYAML::Object::getMachine(), and llvm::ELFYAML::Object::Header.
Referenced by llvm::object::ELFFile< ELFT >::getRelocationSymbol(), llvm::object::Elf_Rel_Impl< ELFType< Endianness, false >, false >::getRInfo(), llvm::object::Elf_Rel_Impl< ELFType< Endianness, true >, false >::getRInfo(), llvm::object::Elf_Rel_Impl< ELFType< Endianness, false >, false >::getSymbol(), llvm::object::Elf_Rel_Impl< ELFType< Endianness, true >, false >::getSymbol(), llvm::object::Elf_Rel_Impl< ELFType< Endianness, false >, false >::getType(), and llvm::object::Elf_Rel_Impl< ELFType< Endianness, true >, false >::getType().
◆ overrideFields()
◆ shouldEmitDWARF()
◆ writeArrayData()
◆ writeContent()
static uint64_t writeContent ( ContiguousBlobAccumulator & CBA, const std::optional< yaml::BinaryRef > & Content, const std::optional< llvm::yaml::Hex64 > & Size ) | static |
---|
◆ zero()
template<class T >
static void zero ( T & Obj) | static |
---|
◆ SuffixEnd
constexpr char SuffixEnd = ')' | constexpr |
---|
◆ SuffixStart
constexpr char SuffixStart = '(' | constexpr |
---|