aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHannes Domani <ssbssa@yahoo.de>2020-05-11 19:18:31 +0200
committerHannes Domani <ssbssa@yahoo.de>2020-05-15 10:55:21 +0200
commit013707794a67269dd34fd8ae6e354e982c547dc0 (patch)
tree2893fa4b9a9a8dbbe628167ddebe6736c8b63184
parent2a50b401465f74d7f3ee1654915b9070b4dc0fee (diff)
downloadgdb-013707794a67269dd34fd8ae6e354e982c547dc0.zip
gdb-013707794a67269dd34fd8ae6e354e982c547dc0.tar.gz
gdb-013707794a67269dd34fd8ae6e354e982c547dc0.tar.bz2
Enable hardware breakpoints for gdbserver on Windows
When trying to use hardware breakpoints with gdbserver you get this error: (gdb) hbreak main Hardware assisted breakpoint 2 at 0x40162d: file gdb-9493.c, line 5. (gdb) c Continuing. Warning: Cannot insert hardware breakpoint 2. Could not insert hardware breakpoints: You may have requested too many hardware breakpoints/watchpoints. It turns out the respective types just needed to be added to the appropriate callback functions, because x86_dr_(insert|remove)_watchpoint already handles them. gdbserver/ChangeLog: 2020-05-15 Hannes Domani <ssbssa@yahoo.de> * win32-i386-low.cc (i386_supports_z_point_type): Handle Z_PACKET_HW_BP z_type. (i386_insert_point): Handle raw_bkpt_type type. (i386_remove_point): Likewise.
-rw-r--r--gdbserver/ChangeLog7
-rw-r--r--gdbserver/win32-i386-low.cc3
2 files changed, 10 insertions, 0 deletions
diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog
index 4853463..d2b2444 100644
--- a/gdbserver/ChangeLog
+++ b/gdbserver/ChangeLog
@@ -1,3 +1,10 @@
+2020-05-15 Hannes Domani <ssbssa@yahoo.de>
+
+ * win32-i386-low.cc (i386_supports_z_point_type): Handle
+ Z_PACKET_HW_BP z_type.
+ (i386_insert_point): Handle raw_bkpt_type type.
+ (i386_remove_point): Likewise.
+
2020-04-30 Hannes Domani <ssbssa@yahoo.de>
* configure.srv <x86_64-*-mingw*, x86_64-*-cygwin*> (srv_tgtobj):
diff --git a/gdbserver/win32-i386-low.cc b/gdbserver/win32-i386-low.cc
index 389ec49..410f10a 100644
--- a/gdbserver/win32-i386-low.cc
+++ b/gdbserver/win32-i386-low.cc
@@ -162,6 +162,7 @@ i386_supports_z_point_type (char z_type)
{
switch (z_type)
{
+ case Z_PACKET_HW_BP:
case Z_PACKET_WRITE_WP:
case Z_PACKET_ACCESS_WP:
return 1;
@@ -176,6 +177,7 @@ i386_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
{
switch (type)
{
+ case raw_bkpt_type_hw:
case raw_bkpt_type_write_wp:
case raw_bkpt_type_access_wp:
{
@@ -197,6 +199,7 @@ i386_remove_point (enum raw_bkpt_type type, CORE_ADDR addr,
{
switch (type)
{
+ case raw_bkpt_type_hw:
case raw_bkpt_type_write_wp:
case raw_bkpt_type_access_wp:
{