[Lldb-commits] [PATCH] D67911: [LLDB] [Windows] Add missing ifdefs to fix building for non-x86 architectures
Martin Storsjö via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Mon Sep 23 05:29:07 PDT 2019
mstorsjo created this revision.
mstorsjo added reviewers: amccarth, labath, hhb, compnerd, asmith.
Herald added subscribers: JDevlieghere, abidh.
Herald added a project: LLDB.
While debugging on those architectures might not be supported yet, the generic code should still be buildable. This file accesses x86 specific fields in the CONTEXT struct.
Repository:
rLLDB LLDB
https://reviews.llvm.org/D67911
Files:
lldb/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
Index: lldb/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
===================================================================
--- lldb/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
+++ lldb/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
@@ -95,6 +95,7 @@
if (!CacheAllRegisterValues())
return false;
+#if defined(__i386__) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_AMD64)
unsigned shift = 2 * slot;
m_context.Dr7 |= 1ULL << shift;
@@ -109,6 +110,10 @@
m_context.Dr7 |= (read ? 3ULL : (write ? 1ULL : 0)) << shift;
return ApplyAllRegisterValues();
+
+#else
+ return false;
+#endif
}
bool RegisterContextWindows::RemoveHardwareBreakpoint(uint32_t slot) {
@@ -118,19 +123,25 @@
if (!CacheAllRegisterValues())
return false;
+#if defined(__i386__) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_AMD64)
unsigned shift = 2 * slot;
m_context.Dr7 &= ~(1ULL << shift);
return ApplyAllRegisterValues();
+#else
+ return false;
+#endif
}
uint32_t RegisterContextWindows::GetTriggeredHardwareBreakpointSlotId() {
if (!CacheAllRegisterValues())
return LLDB_INVALID_INDEX32;
+#if defined(__i386__) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_AMD64)
for (unsigned i = 0UL; i < NUM_HARDWARE_BREAKPOINT_SLOTS; i++)
if (m_context.Dr6 & (1ULL << i))
return i;
+#endif
return LLDB_INVALID_INDEX32;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67911.221299.patch
Type: text/x-patch
Size: 1460 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190923/7a481681/attachment.bin>
More information about the lldb-commits
mailing list