Author: tkrasnukha Date: Wed Jul 31 05:00:30 2019 New Revision: 367414 URL: http://llvm.org/viewvc/llvm-project?rev=367414&view=rev Log: [ProcessWindows] Choose a register context file by preprocessor
Replaced Cmake option based check with the preprocessor macro as CMAKE_SYSTEM_PROCESSOR doesn't work as expected on Windows. Fixes llvm.org/pr42724 Differential Revision: https://reviews.llvm.org/D65409 Modified: lldb/trunk/source/Plugins/Process/Windows/Common/CMakeLists.txt lldb/trunk/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.cpp lldb/trunk/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.h lldb/trunk/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.cpp lldb/trunk/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.h Modified: lldb/trunk/source/Plugins/Process/Windows/Common/CMakeLists.txt URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Windows/Common/CMakeLists.txt?rev=367414&r1=367413&r2=367414&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Process/Windows/Common/CMakeLists.txt (original) +++ lldb/trunk/source/Plugins/Process/Windows/Common/CMakeLists.txt Wed Jul 31 05:00:30 2019 @@ -7,6 +7,9 @@ add_lldb_library(lldbPluginProcessWindow ProcessWindowsLog.cpp RegisterContextWindows.cpp TargetThreadWindows.cpp + x64/RegisterContextWindows_x64.cpp + x86/RegisterContextWindows_x86.cpp + # TODO add support for ARM (NT) and ARM64 LINK_LIBS lldbCore @@ -20,13 +23,3 @@ add_lldb_library(lldbPluginProcessWindow LINK_COMPONENTS Support ) - -# TODO add support for ARM (NT) and ARM64 -# TODO build these unconditionally as we cannot do cross-debugging or WoW -if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64") - target_sources(lldbPluginProcessWindowsCommon PRIVATE - x64/RegisterContextWindows_x64.cpp) -elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i?86|X86") - target_sources(lldbPluginProcessWindowsCommon PRIVATE - x86/RegisterContextWindows_x86.cpp) -endif() Modified: lldb/trunk/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.cpp?rev=367414&r1=367413&r2=367414&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.cpp (original) +++ lldb/trunk/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.cpp Wed Jul 31 05:00:30 2019 @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#if defined(__x86_64__) || defined(__amd64__) || defined(_M_X64) || defined(_M_AMD64) + #include "lldb/Host/windows/HostThreadWindows.h" #include "lldb/Host/windows/windows.h" #include "lldb/Utility/RegisterValue.h" @@ -534,3 +536,5 @@ bool RegisterContextWindows_x64::WriteRe return ::SetThreadContext( wthread.GetHostThread().GetNativeThread().GetSystemHandle(), &m_context); } + +#endif // defined(__x86_64__) || defined(__amd64__) || defined(_M_X64) || defined(_M_AMD64) Modified: lldb/trunk/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.h URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.h?rev=367414&r1=367413&r2=367414&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.h (original) +++ lldb/trunk/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.h Wed Jul 31 05:00:30 2019 @@ -9,6 +9,8 @@ #ifndef liblldb_RegisterContextWindows_x64_H_ #define liblldb_RegisterContextWindows_x64_H_ +#if defined(__x86_64__) || defined(__amd64__) || defined(_M_X64) || defined(_M_AMD64) + #include "RegisterContextWindows.h" #include "lldb/lldb-forward.h" @@ -40,4 +42,6 @@ public: }; } +#endif // defined(__x86_64__) || defined(__amd64__) || defined(_M_X64) || defined(_M_AMD64) + #endif // #ifndef liblldb_RegisterContextWindows_x64_H_ Modified: lldb/trunk/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.cpp?rev=367414&r1=367413&r2=367414&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.cpp (original) +++ lldb/trunk/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.cpp Wed Jul 31 05:00:30 2019 @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#if defined(__i386__) || defined(_M_IX86) + #include "lldb/Host/windows/HostThreadWindows.h" #include "lldb/Host/windows/windows.h" #include "lldb/Utility/RegisterValue.h" @@ -282,3 +284,5 @@ bool RegisterContextWindows_x86::ReadReg reg_value.SetUInt32(value); return true; } + +#endif // defined(__i386__) || defined(_M_IX86) Modified: lldb/trunk/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.h URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.h?rev=367414&r1=367413&r2=367414&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.h (original) +++ lldb/trunk/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.h Wed Jul 31 05:00:30 2019 @@ -9,6 +9,8 @@ #ifndef liblldb_RegisterContextWindows_x86_H_ #define liblldb_RegisterContextWindows_x86_H_ +#if defined(__i386__) || defined(_M_IX86) + #include "RegisterContextWindows.h" #include "lldb/lldb-forward.h" @@ -44,4 +46,6 @@ private: }; } +#endif // defined(__i386__) || defined(_M_IX86) + #endif // #ifndef liblldb_RegisterContextWindows_x86_H_ _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits