diff options
author | Rainer Schuetze <r.sagitario@gmx.de> | 2018-12-12 07:37:42 (GMT) |
---|---|---|
committer | Rainer Schuetze <r.sagitario@gmx.de> | 2018-12-12 07:37:42 (GMT) |
commit | ad510831cafa07d45d973e5fc941c62b9d8946f9 (patch) | |
tree | 97c0a9ef52c2d663e0a7581fc0158f895e0ac575 /src/PEImage.cpp | |
parent | 6af8029154cd76b998d3be2fe59c461295eef0e9 (diff) | |
download | cv2pdb-ad510831cafa07d45d973e5fc941c62b9d8946f9.zip cv2pdb-ad510831cafa07d45d973e5fc941c62b9d8946f9.tar.gz cv2pdb-ad510831cafa07d45d973e5fc941c62b9d8946f9.tar.bz2 |
fix #40: set architecture of .pdb for a 64 bit .dbg
Diffstat (limited to 'src/PEImage.cpp')
-rw-r--r-- | src/PEImage.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/PEImage.cpp b/src/PEImage.cpp index 644f36e..d3651c8 100644 --- a/src/PEImage.cpp +++ b/src/PEImage.cpp @@ -54,6 +54,7 @@ PEImage::PEImage(const TCHAR* iname) , strtable(0)
, bigobj(false)
, dbgfile(false)
+, x64(false)
{
if(iname)
loadExe(iname);
@@ -266,6 +267,7 @@ bool PEImage::initCVPtr(bool initDbgDir) hdr32 = 0;
else
hdr64 = 0;
+ x64 = hdr64 != nullptr;
if(IMGHDR(Signature) != IMAGE_NT_SIGNATURE)
return setError("optional header does not have PE signature");
@@ -324,6 +326,7 @@ bool PEImage::initDbgPtr(bool initDbgDir) if(dbg->DebugDirectorySize <= IMAGE_DIRECTORY_ENTRY_DEBUG)
return setError("too few entries in data directory");
+ x64 = dbg->Machine == IMAGE_FILE_MACHINE_AMD64 || dbg->Machine == IMAGE_FILE_MACHINE_IA64;
dbgfile = true;
dbgDir = 0;
dirHeader = 0;
@@ -389,6 +392,7 @@ bool PEImage::initDWARFPtr(bool initDbgDir) hdr32 = 0;
else
hdr64 = 0;
+ x64 = hdr64 != nullptr;
if(IMGHDR(Signature) != IMAGE_NT_SIGNATURE)
return setError("optional header does not have PE signature");
|