|
LLVM 22.0.0git
|
The ELF component of yaml2obj. More...
#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/SetVector.h"#include "llvm/ADT/StringSet.h"#include "llvm/BinaryFormat/ELF.h"#include "llvm/MC/StringTableBuilder.h"#include "llvm/Object/ELFTypes.h"#include "llvm/ObjectYAML/DWARFEmitter.h"#include "llvm/ObjectYAML/DWARFYAML.h"#include "llvm/ObjectYAML/ELFYAML.h"#include "llvm/ObjectYAML/yaml2obj.h"#include "llvm/Support/EndianStream.h"#include "llvm/Support/Errc.h"#include "llvm/Support/Error.h"#include "llvm/Support/LEB128.h"#include "llvm/Support/WithColor.h"#include "llvm/Support/YAMLTraits.h"#include "llvm/Support/raw_ostream.h"#include <optional>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<class ELFT> | |
| 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<class ELFT> | |
| Expected< uint64_t > | emitDWARF (typename ELFT::Shdr &SHeader, StringRef Name, const DWARFYAML::Data &DWARF, ContiguousBlobAccumulator &CBA) |
| static bool | isMips64EL (const ELFYAML::Object &Obj) |
| LLVM_ABI bool | llvm::yaml::yaml2elf (ELFYAML::Object &Doc, raw_ostream &Out, ErrorHandler EH, uint64_t MaxSize) |
Variables | |
| constexpr char | SuffixStart = '(' |
| constexpr char | SuffixEnd = ')' |
The ELF component of yaml2obj.
Definition in file ELFEmitter.cpp.
Definition at line 336 of file ELFEmitter.cpp.
Referenced by writeArrayData().
| Expected< uint64_t > emitDWARF | ( | typename ELFT::Shdr & | SHeader, |
| StringRef | Name, | ||
| const DWARFYAML::Data & | DWARF, | ||
| ContiguousBlobAccumulator & | CBA ) |
Definition at line 1087 of file ELFEmitter.cpp.
References llvm::DWARFYAML::getDWARFEmitterByName().
|
static |
Definition at line 942 of file ELFEmitter.cpp.
References Binding, I, and llvm::ELF::STB_LOCAL.
Definition at line 742 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.
|
static |
Definition at line 1273 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().
|
static |
Definition at line 642 of file ELFEmitter.cpp.
References llvm::ELFYAML::Section::ShAddrAlign, llvm::ELFYAML::Section::ShFlags, llvm::ELFYAML::Section::ShName, llvm::ELFYAML::Section::ShOffset, llvm::ELFYAML::Section::ShSize, and llvm::ELFYAML::Section::ShType.
|
static |
Definition at line 1081 of file ELFEmitter.cpp.
References llvm::SetVector< T, Vector, Set, N >::count(), and llvm::DWARFYAML::Data::getNonEmptySectionNames().
|
static |
Definition at line 340 of file ELFEmitter.cpp.
References A(), arrayDataSize(), and llvm::raw_ostream::write().
|
static |
Definition at line 726 of file ELFEmitter.cpp.
References Size.
Definition at line 344 of file ELFEmitter.cpp.
References T.
|
constexpr |
Definition at line 694 of file ELFEmitter.cpp.
Referenced by llvm::ELFYAML::appendUniqueSuffix(), llvm::ELFYAML::dropUniqueSuffix(), and parseRD().
|
constexpr |
Definition at line 693 of file ELFEmitter.cpp.
Referenced by llvm::ELFYAML::appendUniqueSuffix(), llvm::GlobPattern::create(), and llvm::ELFYAML::dropUniqueSuffix().