diff options
author | Jan Kotas <jkotas@microsoft.com> | 2015-10-30 15:44:53 -0700 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2015-10-30 15:44:53 -0700 |
commit | ef310df65c764604bb1a78b0cd1a8fb0419af1c1 (patch) | |
tree | a9d7d0a2882c21358b67ad11b2ee55cbd7818c46 /src/inc | |
parent | 828592485cc48f90649f49ef9a303cc04004abbc (diff) | |
parent | 28c4854d78f02ee2c92ea536c3c29f4433865869 (diff) | |
download | coreclr-ef310df65c764604bb1a78b0cd1a8fb0419af1c1.tar.gz coreclr-ef310df65c764604bb1a78b0cd1a8fb0419af1c1.tar.bz2 coreclr-ef310df65c764604bb1a78b0cd1a8fb0419af1c1.zip |
Merge pull request #1888 from JohnChen0/master
Modify Platform ID of Linux NIs (issue #1035)
Diffstat (limited to 'src/inc')
-rw-r--r-- | src/inc/pedecoder.h | 12 | ||||
-rw-r--r-- | src/inc/pedecoder.inl | 5 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/inc/pedecoder.h b/src/inc/pedecoder.h index a744764a6d..37d27b9f51 100644 --- a/src/inc/pedecoder.h +++ b/src/inc/pedecoder.h @@ -84,6 +84,13 @@ inline CHECK CheckOverflow(RVA value1, COUNT_T value2) #define IMAGE_FILE_MACHINE_NATIVE IMAGE_FILE_MACHINE_I386 #elif defined(_TARGET_AMD64_) #define IMAGE_FILE_MACHINE_NATIVE IMAGE_FILE_MACHINE_AMD64 +#if defined(__LINUX__) +#define IMAGE_FILE_MACHINE_NATIVE_NI 0x9664 +#elif defined(__APPLE__) +#define IMAGE_FILE_MACHINE_NATIVE_NI 0xa664 +#elif defined(__FreeBSD__) +#define IMAGE_FILE_MACHINE_NATIVE_NI 0xb664 +#endif #elif defined(_TARGET_ARM_) #define IMAGE_FILE_MACHINE_NATIVE IMAGE_FILE_MACHINE_ARMNT #elif defined(_TARGET_ARM64_) @@ -92,6 +99,11 @@ inline CHECK CheckOverflow(RVA value1, COUNT_T value2) #error "port me" #endif +// Machine code for native images +#ifndef IMAGE_FILE_MACHINE_NATIVE_NI +#define IMAGE_FILE_MACHINE_NATIVE_NI IMAGE_FILE_MACHINE_NATIVE +#endif + // -------------------------------------------------------------------------------- // Types // -------------------------------------------------------------------------------- diff --git a/src/inc/pedecoder.inl b/src/inc/pedecoder.inl index 9794625a58..12b00d21ec 100644 --- a/src/inc/pedecoder.inl +++ b/src/inc/pedecoder.inl @@ -962,8 +962,11 @@ inline BOOL PEDecoder::IsNativeMachineFormat() const if (!HasContents() || !HasNTHeaders() ) return FALSE; _ASSERTE(m_pNTHeaders); + WORD expectedFormat = (HasNativeHeader() || HasReadyToRunHeader()) ? + IMAGE_FILE_MACHINE_NATIVE_NI : + IMAGE_FILE_MACHINE_NATIVE; //do not call GetNTHeaders as we do not want to bother with PE32->PE32+ conversion - return m_pNTHeaders->FileHeader.Machine==IMAGE_FILE_MACHINE_NATIVE; + return m_pNTHeaders->FileHeader.Machine==expectedFormat; } inline BOOL PEDecoder::IsI386() const |