gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gdb / i386-windows-nat.c
index 9c467fb60985801fc829100e64281874107d6a73..3091fc362825aa2cac685301f99145f608952139 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2012 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 
 #include "defs.h"
 #include "windows-nat.h"
-#include "i386-nat.h"
+#include "x86-nat.h"
+#include "i386-tdep.h"
 
 #include <windows.h>
 
-#define context_offset(x) ((int)&(((CONTEXT *)NULL)->x))
-static const int mappings[] =
+#ifdef __x86_64__
+#define CONTEXT WOW64_CONTEXT
+#endif
+#define context_offset(x) ((int)(size_t)&(((CONTEXT *)NULL)->x))
+const int i386_mappings[] =
 {
   context_offset (Eax),
   context_offset (Ecx),
@@ -69,10 +73,21 @@ static const int mappings[] =
   context_offset (ExtendedRegisters[24])
 };
 #undef context_offset
+#undef CONTEXT
 
+/* segment_register_p_ftype implementation for x86.  */
+
+int
+i386_windows_segment_register_p (int regnum)
+{
+  return regnum >= I386_CS_REGNUM && regnum <= I386_GS_REGNUM;
+}
+
+void _initialize_i386_windows_nat ();
 void
-_initialize_i386_windows_nat (void)
+_initialize_i386_windows_nat ()
 {
-  windows_set_context_register_offsets (mappings);
-  i386_set_debug_register_length (4);
+#ifndef __x86_64__
+  x86_set_debug_register_length (4);
+#endif
 }
This page took 0.027719 seconds and 4 git commands to generate.