From 013707794a67269dd34fd8ae6e354e982c547dc0 Mon Sep 17 00:00:00 2001 From: Hannes Domani Date: Mon, 11 May 2020 19:18:31 +0200 Subject: 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 * 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. --- gdbserver/ChangeLog | 7 +++++++ gdbserver/win32-i386-low.cc | 3 +++ 2 files changed, 10 insertions(+) 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 + + * 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 * configure.srv (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: { -- cgit v1.1