diff options
author | Rui Ueyama <ruiu@google.com> | 2014-02-19 03:53:11 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2014-02-19 03:53:11 +0000 |
commit | b7e1ab795944263b663593085f7fee404f72475f (patch) | |
tree | 976a61779ab0ff43e9606c9d37db917397ee6825 /include/llvm/Object/COFF.h | |
parent | 3fd813ef423e23d7f57ed3784d423ca503cd3578 (diff) | |
download | llvm-b7e1ab795944263b663593085f7fee404f72475f.tar.gz llvm-b7e1ab795944263b663593085f7fee404f72475f.tar.bz2 llvm-b7e1ab795944263b663593085f7fee404f72475f.tar.xz |
llvm-objdump/COFF: Print load configuration table.
Load Configuration Table may contain a pointer to SEH table. This patch is to
print the offset to the table. Printing SEH table contents is a TODO.
The layout of Layout Configuration Table is described in Microsoft PE/COFF
Object File Format Spec, but the table's offset/size descriptions seems to be
totally wrong, at least in revision 8.3 of the spec. I believe the table in
this patch is the correct one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201638 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Object/COFF.h')
-rw-r--r-- | include/llvm/Object/COFF.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/llvm/Object/COFF.h b/include/llvm/Object/COFF.h index 264a851e85..6ce5490606 100644 --- a/include/llvm/Object/COFF.h +++ b/include/llvm/Object/COFF.h @@ -244,6 +244,29 @@ struct coff_aux_section_definition { char Unused[3]; }; +struct coff_load_configuration32 { + support::ulittle32_t Characteristics; + support::ulittle32_t TimeDateStamp; + support::ulittle16_t MajorVersion; + support::ulittle16_t MinorVersion; + support::ulittle32_t GlobalFlagsClear; + support::ulittle32_t GlobalFlagsSet; + support::ulittle32_t CriticalSectionDefaultTimeout; + support::ulittle32_t DeCommitFreeBlockThreshold; + support::ulittle32_t DeCommitTotalFreeThreshold; + support::ulittle32_t LockPrefixTable; + support::ulittle32_t MaximumAllocationSize; + support::ulittle32_t VirtualMemoryThreshold; + support::ulittle32_t ProcessAffinityMask; + support::ulittle32_t ProcessHeapFlags; + support::ulittle16_t CSDVersion; + char Reserved[4]; + support::ulittle32_t EditList; + support::ulittle32_t SecurityCookie; + support::ulittle32_t SEHandlerTable; + support::ulittle32_t SEHandlerCount; +}; + class COFFObjectFile : public ObjectFile { private: friend class ImportDirectoryEntryRef; |