diff options
Diffstat (limited to 'include/llvm/Object/ELFYAML.h')
-rw-r--r-- | include/llvm/Object/ELFYAML.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/llvm/Object/ELFYAML.h b/include/llvm/Object/ELFYAML.h index 04ba0a6622..d6ce525248 100644 --- a/include/llvm/Object/ELFYAML.h +++ b/include/llvm/Object/ELFYAML.h @@ -49,6 +49,9 @@ struct FileHeader { ELF_EM Machine; llvm::yaml::Hex64 Entry; }; +struct Symbol { + StringRef Name; +}; struct Section { StringRef Name; ELF_SHT Type; @@ -57,6 +60,8 @@ struct Section { object::yaml::BinaryRef Content; StringRef Link; llvm::yaml::Hex64 AddressAlign; + // For SHT_SYMTAB; should be empty otherwise. + std::vector<Symbol> Symbols; }; struct Object { FileHeader Header; @@ -67,6 +72,7 @@ struct Object { } // end namespace llvm LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::Section) +LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ELFYAML::Symbol) namespace llvm { namespace yaml { @@ -107,6 +113,11 @@ struct MappingTraits<ELFYAML::FileHeader> { }; template <> +struct MappingTraits<ELFYAML::Symbol> { + static void mapping(IO &IO, ELFYAML::Symbol &Symbol); +}; + +template <> struct MappingTraits<ELFYAML::Section> { static void mapping(IO &IO, ELFYAML::Section &Section); }; |