Fix CreateDump-related undefined reference on non-AMD64/Linux platforms (#11635)
authorJonghyun Park <parjong@gmail.com>
Wed, 17 May 2017 14:37:01 +0000 (23:37 +0900)
committerJan Vorlicek <janvorli@microsoft.com>
Wed, 17 May 2017 14:37:01 +0000 (07:37 -0700)
src/ToolBox/SOS/Strike/CMakeLists.txt
src/ToolBox/SOS/Strike/strike.cpp

index ff5f86455c2e4b9ac934ed09e0c1426173dd5e8a..65c3f9585ef487c00c3e186d87ccc4ee891a60ea 100644 (file)
@@ -150,6 +150,7 @@ if(CLR_CMAKE_PLATFORM_ARCH_AMD64)
       SOS_LIBRARY 
       createdump_lib
     )
+    add_definitions(-DCREATE_DUMP_SUPPORTED)
   endif(CLR_CMAKE_PLATFORM_LINUX)
   set(SOS_SOURCES_ARCH
     disasmX86.cpp
index 1fff17fb262eae018a788c3f00329b10d1d47856..7e01635100e54d38e9c0b165ece9224b6336c086 100644 (file)
@@ -14370,17 +14370,17 @@ _EFN_GetManagedObjectFieldInfo(
 
 #ifdef FEATURE_PAL
 
-#ifdef __linux__
+#ifdef CREATE_DUMP_SUPPORTED
 #include <dumpcommon.h>
 #include "datatarget.h"
 extern bool CreateDumpForSOS(const char* programPath, const char* dumpPathTemplate, pid_t pid, MINIDUMP_TYPE minidumpType, ICLRDataTarget* dataTarget);
 extern bool g_diagnostics;
-#endif // __linux__
+#endif // CREATE_DUMP_SUPPORTED
 
 DECLARE_API(CreateDump)
 {
     INIT_API();
-#ifdef __linux__
+#ifdef CREATE_DUMP_SUPPORTED
     StringHolder sFileName;
     BOOL normal = FALSE;
     BOOL withHeap = FALSE;
@@ -14440,9 +14440,9 @@ DECLARE_API(CreateDump)
     {
         Status = E_FAIL;
     } 
-#else // __linux__
+#else // CREATE_DUMP_SUPPORTED
     ExtErr("CreateDump not supported on this platform\n");
-#endif // __linux__
+#endif // CREATE_DUMP_SUPPORTED
     return Status;
 }