This revision was automatically updated to reflect the committed changes.
Closed by commit rL372699: [LLDB] [Windows] Add missing ifdefs to fix building
for non-x86 architectures (authored by mstorsjo, committed by ).
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Changed prior to commit:
https://reviews.llvm.org/D67911?vs=221406&id=221480#toc
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D67911/new/
https://reviews.llvm.org/D67911
Files:
lldb/trunk/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
Index:
lldb/trunk/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
===================================================================
--- lldb/trunk/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
+++ lldb/trunk/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
@@ -84,7 +84,7 @@
case 1:
case 2:
case 4:
-#if defined(__x86_64__) || defined(_M_AMD64)
+#if defined(_WIN64)
case 8:
#endif
break;
@@ -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,12 @@
m_context.Dr7 |= (read ? 3ULL : (write ? 1ULL : 0)) << shift;
return ApplyAllRegisterValues();
+
+#else
+ Log *log = ProcessWindowsLog::GetLogIfAny(WINDOWS_LOG_REGISTERS);
+ LLDB_LOG(log, "hardware breakpoints not currently supported on this arch");
+ return false;
+#endif
}
bool RegisterContextWindows::RemoveHardwareBreakpoint(uint32_t slot) {
@@ -118,19 +125,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;
}
Index: lldb/trunk/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
===================================================================
--- lldb/trunk/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
+++ lldb/trunk/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
@@ -84,7 +84,7 @@
case 1:
case 2:
case 4:
-#if defined(__x86_64__) || defined(_M_AMD64)
+#if defined(_WIN64)
case 8:
#endif
break;
@@ -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,12 @@
m_context.Dr7 |= (read ? 3ULL : (write ? 1ULL : 0)) << shift;
return ApplyAllRegisterValues();
+
+#else
+ Log *log = ProcessWindowsLog::GetLogIfAny(WINDOWS_LOG_REGISTERS);
+ LLDB_LOG(log, "hardware breakpoints not currently supported on this arch");
+ return false;
+#endif
}
bool RegisterContextWindows::RemoveHardwareBreakpoint(uint32_t slot) {
@@ -118,19 +125,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;
}
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits