[Lldb-commits] [lldb] r365155 - Plugins: permit building on Windows ARM64

Saleem Abdulrasool via lldb-commits lldb-commits at lists.llvm.org
Thu Jul 4 12:26:49 PDT 2019


Author: compnerd
Date: Thu Jul  4 12:26:49 2019
New Revision: 365155

URL: http://llvm.org/viewvc/llvm-project?rev=365155&view=rev
Log:
Plugins: permit building on Windows ARM64

Rather than relying on `sizeof(void *)` to determine the architecture,
use the `CMAKE_SYSTEM_PROCESSOR` variable.  This should allow us to
build for Windows and cross-compile.  Without this, we would attempt to
build the x64 plugin on ARM64 which would fail due to the `CONTEXT` type
being defined for ARM64 rather than `x64`.

Modified:
    lldb/trunk/source/Plugins/Process/Windows/Common/CMakeLists.txt

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=365155&r1=365154&r2=365155&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/Windows/Common/CMakeLists.txt (original)
+++ lldb/trunk/source/Plugins/Process/Windows/Common/CMakeLists.txt Thu Jul  4 12:26:49 2019
@@ -1,4 +1,5 @@
-set(PROC_WINDOWS_COMMON_SOURCES
+
+add_lldb_library(lldbPluginProcessWindowsCommon PLUGIN
   DebuggerThread.cpp
   LocalDebugDelegate.cpp
   ProcessDebugger.cpp
@@ -6,20 +7,6 @@ set(PROC_WINDOWS_COMMON_SOURCES
   ProcessWindowsLog.cpp
   RegisterContextWindows.cpp
   TargetThreadWindows.cpp
-  )
-
-if (CMAKE_SIZEOF_VOID_P EQUAL 4)
-  set(PROC_WINDOWS_COMMON_SOURCES ${PROC_WINDOWS_COMMON_SOURCES}
-    x86/RegisterContextWindows_x86.cpp
-    )
-elseif (CMAKE_SIZEOF_VOID_P EQUAL 8)
-  set(PROC_WINDOWS_COMMON_SOURCES ${PROC_WINDOWS_COMMON_SOURCES}
-    x64/RegisterContextWindows_x64.cpp
-    )
-endif()
-
-add_lldb_library(lldbPluginProcessWindowsCommon PLUGIN
-  ${PROC_WINDOWS_COMMON_SOURCES}
 
   LINK_LIBS
     lldbCore
@@ -33,3 +20,13 @@ 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()




More information about the lldb-commits mailing list