summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2014-01-26 04:15:52 +0000
committerRui Ueyama <ruiu@google.com>2014-01-26 04:15:52 +0000
commit1e839eb2cd0e233db6225ea1db45411463654de6 (patch)
treeb638f5802f7e5dcbfd91cfa6f6491f9dc8d62c6b /include
parent07f1de473f6ed6c42d9798c59cd90b61bac9c640 (diff)
downloadllvm-1e839eb2cd0e233db6225ea1db45411463654de6.tar.gz
llvm-1e839eb2cd0e233db6225ea1db45411463654de6.tar.bz2
llvm-1e839eb2cd0e233db6225ea1db45411463654de6.tar.xz
llvm-readobj: add support for PE32+ (Windows 64 bit executable).
PE32+ supports 64 bit address space, but the file format remains 32 bit. So its file format is pretty similar to PE32 (32 bit executable). The differences compared to PE32 are (1) the lack of "BaseOfData" field and (2) some of its data members are 64 bit. In this patch, I added a new member function to get a PE32+ Header object to COFFObjectFile class and made llvm-readobj to use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200117 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Object/COFF.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/llvm/Object/COFF.h b/include/llvm/Object/COFF.h
index 38ea814ed1..d7965a33e7 100644
--- a/include/llvm/Object/COFF.h
+++ b/include/llvm/Object/COFF.h
@@ -250,6 +250,7 @@ private:
friend class ExportDirectoryEntryRef;
const coff_file_header *COFFHeader;
const pe32_header *PE32Header;
+ const pe32plus_header *PE32PlusHeader;
const data_directory *DataDirectory;
const coff_section *SectionTable;
const coff_symbol *SymbolTable;
@@ -347,6 +348,7 @@ public:
error_code getHeader(const coff_file_header *&Res) const;
error_code getCOFFHeader(const coff_file_header *&Res) const;
error_code getPE32Header(const pe32_header *&Res) const;
+ error_code getPE32PlusHeader(const pe32plus_header *&Res) const;
error_code getDataDirectory(uint32_t index, const data_directory *&Res) const;
error_code getSection(int32_t index, const coff_section *&Res) const;
error_code getSymbol(uint32_t index, const coff_symbol *&Res) const;