From d6cf26f985fa5645fb8137d069a273e111041464 Mon Sep 17 00:00:00 2001 From: Mike McLaughlin Date: Fri, 20 Feb 2015 15:10:11 -0800 Subject: [PATCH] More review feedback changes. Fixed message when the sos module isn't found. Changed the plugin make file to build on OSx only if the environment vars are set. Fixed IP2MD command on windows. --- src/ToolBox/SOS/Strike/strike.cpp | 4 ++-- src/ToolBox/SOS/lldbplugin/CMakeLists.txt | 34 ++++++++++++++++--------------- src/ToolBox/SOS/lldbplugin/soscommand.cpp | 9 +++++++- 3 files changed, 28 insertions(+), 19 deletions(-) diff --git a/src/ToolBox/SOS/Strike/strike.cpp b/src/ToolBox/SOS/Strike/strike.cpp index 98a902e..c41e656 100644 --- a/src/ToolBox/SOS/Strike/strike.cpp +++ b/src/ToolBox/SOS/Strike/strike.cpp @@ -279,11 +279,11 @@ DECLARE_API(IP2MD) { return Status; } - +#ifdef FEATURE_PAL // TODO - mikem 2/20/14 - temporary until the rest of the DAC is working. ExtOut("Test output for IP2MD %16x\n", IP); return Status; - +#endif EnableDMLHolder dmlHolder(dml); if (IP == 0) diff --git a/src/ToolBox/SOS/lldbplugin/CMakeLists.txt b/src/ToolBox/SOS/lldbplugin/CMakeLists.txt index 98295ec..78046ec 100644 --- a/src/ToolBox/SOS/lldbplugin/CMakeLists.txt +++ b/src/ToolBox/SOS/lldbplugin/CMakeLists.txt @@ -6,30 +6,32 @@ if((NOT $ENV{LLDB_INCLUDE_DIR} STREQUAL "") AND (NOT $ENV{LLDB_LIB_DIR} STREQUAL # The OSx build depends on the environment variables LLDB_INCLUDE_DIR and LLDB_LIB_DIR being set set(LLDB_INCLUDE_DIR "$ENV{LLDB_INCLUDE_DIR}") set(LLDB_LIB_DIR "$ENV{LLDB_LIB_DIR}") -else() +elseif(CLR_CMAKE_PLATFORM_LINUX) # The Linux build depends on the lldb-3.5-dev package set(LLVM_DIR "/usr/lib/llvm-3.5") set(LLDB_INCLUDE_DIR "${LLVM_DIR}/include") set(LLDB_LIB_DIR "${LLVM_DIR}/lib") endif() -message(LLDB_INCLUDE_DIR=${LLDB_INCLUDE_DIR}) -message(LLDB_LIB_DIR=${LLDB_LIB_DIR}) +if((NOT ${LLDB_INCLUDE_DIR} STREQUAL "") AND (NOT ${LLDB_LIB_DIR} STREQUAL "")) + message(LLDB_INCLUDE_DIR=${LLDB_INCLUDE_DIR}) + message(LLDB_LIB_DIR=${LLDB_LIB_DIR}) -add_compile_options(-Wno-delete-non-virtual-dtor) + add_compile_options(-Wno-delete-non-virtual-dtor) -include_directories(inc) -include_directories("${LLDB_INCLUDE_DIR}") -link_directories("${LLDB_LIB_DIR}") + include_directories(inc) + include_directories("${LLDB_INCLUDE_DIR}") + link_directories("${LLDB_LIB_DIR}") -set(SOURCES - sosplugin.cpp - soscommand.cpp - debugclient.cpp -) + set(SOURCES + sosplugin.cpp + soscommand.cpp + debugclient.cpp + ) -add_library(sosplugin SHARED ${SOURCES}) -add_dependencies(sosplugin sos) + add_library(sosplugin SHARED ${SOURCES}) + add_dependencies(sosplugin sos) -# add the install targets -install (TARGETS sosplugin DESTINATION .) \ No newline at end of file + # add the install targets + install (TARGETS sosplugin DESTINATION .) +endif() \ No newline at end of file diff --git a/src/ToolBox/SOS/lldbplugin/soscommand.cpp b/src/ToolBox/SOS/lldbplugin/soscommand.cpp index d2f5ce5..dfccc2b 100644 --- a/src/ToolBox/SOS/lldbplugin/soscommand.cpp +++ b/src/ToolBox/SOS/lldbplugin/soscommand.cpp @@ -35,7 +35,14 @@ public: m_sosHandle = dlopen(sosLibrary, RTLD_LAZY); if (m_sosHandle == NULL) { - client->Output(DEBUG_OUTPUT_ERROR, "dlopen(%s) failed %s\n", sosLibrary, dlerror()); +#ifdef __APPLE__ + const char* libraryPathName = "DYLD_LIBRARY_PATH"; +#else + const char* libraryPathName = "LD_LIBRARY_PATH"; +#endif + client->Output(DEBUG_OUTPUT_ERROR, + "dlopen(%s) failed %s.\nMake sure that the %s environment variable is set to the runtime binaries directory.\n", + sosLibrary, dlerror(), libraryPathName); } } -- 2.7.4