summaryrefslogtreecommitdiff
path: root/src/zap/zapheaders.h
diff options
context:
space:
mode:
authorMike McLaughlin <mikem@microsoft.com>2017-07-11 09:58:49 -0700
committerGitHub <noreply@github.com>2017-07-11 09:58:49 -0700
commit065a5216c1d16ff519bf18c5b559c8eda276f580 (patch)
treeccecb982fe8e55dea7a361c8f2f271b14c8f1579 /src/zap/zapheaders.h
parent6fba4442f146a38e0874e43917d6f9d5eb9d581a (diff)
downloadcoreclr-065a5216c1d16ff519bf18c5b559c8eda276f580.tar.gz
coreclr-065a5216c1d16ff519bf18c5b559c8eda276f580.tar.bz2
coreclr-065a5216c1d16ff519bf18c5b559c8eda276f580.zip
Fix crossgen debug directory generation problems. (#12715)
* Fix crossgen debug directory generation problems. The first problem was that when the existing/incoming PDB debug directory entry was a portable PDB (MinorVersion == 0x504d), the ngen/native PDB added had the same MinorVersion indicating that it was a portable PDB (but it never can be). This was fixed by setting MinorVersion to 0 when creating the ngen PDB debug directory entry. The second problem was that the ngen PDB entry was being created even when crossgen was run on linux/mac, etc. The fix was to ifdef NO_NGENPDB the save ngen PDB entry code.
Diffstat (limited to 'src/zap/zapheaders.h')
-rw-r--r--src/zap/zapheaders.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/zap/zapheaders.h b/src/zap/zapheaders.h
index 0755c0ed2d..f966ced1b1 100644
--- a/src/zap/zapheaders.h
+++ b/src/zap/zapheaders.h
@@ -249,7 +249,12 @@ public:
virtual DWORD GetSize()
{
+#if defined(NO_NGENPDB)
+ return sizeof(IMAGE_DEBUG_DIRECTORY) * m_nDebugDirectory;
+#else
+ // Add one for NGen PDB debug directory entry
return sizeof(IMAGE_DEBUG_DIRECTORY) * (m_nDebugDirectory + 1);
+#endif // NO_NGENPDB
}
virtual UINT GetAlignment()