[Lldb-commits] [PATCH] D91254: [lldb] [Process/Utility] Fix DR offsets for FreeBSD

Michał Górny via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu Nov 12 05:09:24 PST 2020


This revision was automatically updated to reflect the committed changes.
Closed by commit rGa8bfee2a356a: [lldb] [Process/Utility] Fix DR offsets for FreeBSD (authored by mgorny).
Herald added a project: LLDB.

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D91254/new/

https://reviews.llvm.org/D91254

Files:
  lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_i386.cpp
  lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_x86_64.cpp


Index: lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_x86_64.cpp
===================================================================
--- lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_x86_64.cpp
+++ lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_x86_64.cpp
@@ -59,7 +59,9 @@
   DBG dbg;
 };
 
-#define DR_OFFSET(reg_index) (LLVM_EXTENSION offsetof(DBG, dr[reg_index]))
+#define DR_OFFSET(reg_index)                                                   \
+  (LLVM_EXTENSION offsetof(UserArea, dbg) +                                    \
+   LLVM_EXTENSION offsetof(DBG, dr[reg_index]))
 
 // Include RegisterInfos_x86_64 to declare our g_register_infos_x86_64
 // structure.
Index: lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_i386.cpp
===================================================================
--- lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_i386.cpp
+++ lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_i386.cpp
@@ -35,7 +35,7 @@
   uint32_t gs;
 };
 
-struct dbreg {
+struct DBG {
   uint32_t dr[8]; /* debug registers */
                   /* Index 0-3: debug address registers */
                   /* Index 4-5: reserved */
@@ -48,10 +48,13 @@
 struct UserArea {
   GPR gpr;
   FPR_i386 i387;
+  DBG dbg;
 };
 
 #define DR_SIZE sizeof(uint32_t)
-#define DR_OFFSET(reg_index) (LLVM_EXTENSION offsetof(dbreg, dr[reg_index]))
+#define DR_OFFSET(reg_index)                                                   \
+  (LLVM_EXTENSION offsetof(UserArea, dbg) +                                    \
+   LLVM_EXTENSION offsetof(DBG, dr[reg_index]))
 
 // Include RegisterInfos_i386 to declare our g_register_infos_i386 structure.
 #define DECLARE_REGISTER_INFOS_I386_STRUCT


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D91254.304789.patch
Type: text/x-patch
Size: 1747 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20201112/772c17d3/attachment.bin>


More information about the lldb-commits mailing list