[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 llvm-svn: 367414
This commit is contained in:
parent
e84f78412b
commit
e98b4188dc
|
|
@ -7,6 +7,9 @@ add_lldb_library(lldbPluginProcessWindowsCommon PLUGIN
|
||||||
ProcessWindowsLog.cpp
|
ProcessWindowsLog.cpp
|
||||||
RegisterContextWindows.cpp
|
RegisterContextWindows.cpp
|
||||||
TargetThreadWindows.cpp
|
TargetThreadWindows.cpp
|
||||||
|
x64/RegisterContextWindows_x64.cpp
|
||||||
|
x86/RegisterContextWindows_x86.cpp
|
||||||
|
# TODO add support for ARM (NT) and ARM64
|
||||||
|
|
||||||
LINK_LIBS
|
LINK_LIBS
|
||||||
lldbCore
|
lldbCore
|
||||||
|
|
@ -20,13 +23,3 @@ add_lldb_library(lldbPluginProcessWindowsCommon PLUGIN
|
||||||
LINK_COMPONENTS
|
LINK_COMPONENTS
|
||||||
Support
|
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()
|
|
||||||
|
|
|
||||||
|
|
@ -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/HostThreadWindows.h"
|
||||||
#include "lldb/Host/windows/windows.h"
|
#include "lldb/Host/windows/windows.h"
|
||||||
#include "lldb/Utility/RegisterValue.h"
|
#include "lldb/Utility/RegisterValue.h"
|
||||||
|
|
@ -534,3 +536,5 @@ bool RegisterContextWindows_x64::WriteRegister(const RegisterInfo *reg_info,
|
||||||
return ::SetThreadContext(
|
return ::SetThreadContext(
|
||||||
wthread.GetHostThread().GetNativeThread().GetSystemHandle(), &m_context);
|
wthread.GetHostThread().GetNativeThread().GetSystemHandle(), &m_context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // defined(__x86_64__) || defined(__amd64__) || defined(_M_X64) || defined(_M_AMD64)
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@
|
||||||
#ifndef liblldb_RegisterContextWindows_x64_H_
|
#ifndef liblldb_RegisterContextWindows_x64_H_
|
||||||
#define 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 "RegisterContextWindows.h"
|
||||||
#include "lldb/lldb-forward.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_
|
#endif // #ifndef liblldb_RegisterContextWindows_x64_H_
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#if defined(__i386__) || defined(_M_IX86)
|
||||||
|
|
||||||
#include "lldb/Host/windows/HostThreadWindows.h"
|
#include "lldb/Host/windows/HostThreadWindows.h"
|
||||||
#include "lldb/Host/windows/windows.h"
|
#include "lldb/Host/windows/windows.h"
|
||||||
#include "lldb/Utility/RegisterValue.h"
|
#include "lldb/Utility/RegisterValue.h"
|
||||||
|
|
@ -282,3 +284,5 @@ bool RegisterContextWindows_x86::ReadRegisterHelper(
|
||||||
reg_value.SetUInt32(value);
|
reg_value.SetUInt32(value);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // defined(__i386__) || defined(_M_IX86)
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@
|
||||||
#ifndef liblldb_RegisterContextWindows_x86_H_
|
#ifndef liblldb_RegisterContextWindows_x86_H_
|
||||||
#define liblldb_RegisterContextWindows_x86_H_
|
#define liblldb_RegisterContextWindows_x86_H_
|
||||||
|
|
||||||
|
#if defined(__i386__) || defined(_M_IX86)
|
||||||
|
|
||||||
#include "RegisterContextWindows.h"
|
#include "RegisterContextWindows.h"
|
||||||
#include "lldb/lldb-forward.h"
|
#include "lldb/lldb-forward.h"
|
||||||
|
|
||||||
|
|
@ -44,4 +46,6 @@ private:
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // defined(__i386__) || defined(_M_IX86)
|
||||||
|
|
||||||
#endif // #ifndef liblldb_RegisterContextWindows_x86_H_
|
#endif // #ifndef liblldb_RegisterContextWindows_x86_H_
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue