diff --git a/include/llvm/Object/ELFTypes.h b/include/llvm/Object/ELFTypes.h index 0d5441acf98..2116c30e3fe 100644 --- a/include/llvm/Object/ELFTypes.h +++ b/include/llvm/Object/ELFTypes.h @@ -34,6 +34,7 @@ template struct Elf_Vernaux_Impl; template struct Elf_Versym_Impl; template struct Elf_Hash_Impl; template struct Elf_GnuHash_Impl; +template struct Elf_Chdr_Impl; template struct ELFType { private: @@ -59,6 +60,7 @@ public: typedef Elf_Versym_Impl> Versym; typedef Elf_Hash_Impl> Hash; typedef Elf_GnuHash_Impl> GnuHash; + typedef Elf_Chdr_Impl> Chdr; typedef ArrayRef DynRange; typedef ArrayRef ShdrRange; typedef ArrayRef SymRange; @@ -558,6 +560,24 @@ struct Elf_GnuHash_Impl { } }; +// Compressed section headers. +template +struct Elf_Chdr_Impl> { + LLVM_ELF_IMPORT_TYPES(TargetEndianness, false) + Elf_Word ch_type; + Elf_Word ch_size; + Elf_Word ch_addralign; +}; + +template +struct Elf_Chdr_Impl> { + LLVM_ELF_IMPORT_TYPES(TargetEndianness, true) + Elf_Word ch_type; + Elf_Word ch_reserved; + Elf_Xword ch_size; + Elf_Xword ch_addralign; +}; + // MIPS .reginfo section template struct Elf_Mips_RegInfo;