From e54e59297a747bb4f396345aa090d43f155b5576 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 8 Apr 2020 14:33:35 -0600 Subject: [PATCH] Introduce win32_target_ops::decr_pc_after_break This adds a decr_pc_after_break member to win32_target_ops and updates the two Windows targets to set it. Note that I can't test the win32-arm-low.c change. gdbserver/ChangeLog 2020-04-08 Tom Tromey * win32-low.h (struct win32_target_ops) : New field. * win32-i386-low.c (the_low_target): Update. * win32-arm-low.c (the_low_target): Update. --- gdbserver/ChangeLog | 7 +++++++ gdbserver/win32-arm-low.cc | 1 + gdbserver/win32-i386-low.cc | 1 + gdbserver/win32-low.h | 4 ++++ 4 files changed, 13 insertions(+) diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog index ee66a4b6d99..24c42e28d06 100644 --- a/gdbserver/ChangeLog +++ b/gdbserver/ChangeLog @@ -1,3 +1,10 @@ +2020-04-08 Tom Tromey + + * win32-low.h (struct win32_target_ops) : New + field. + * win32-i386-low.c (the_low_target): Update. + * win32-arm-low.c (the_low_target): Update. + 2020-04-08 Tom Tromey * win32-low.h (win32_process_target::read_pc) diff --git a/gdbserver/win32-arm-low.cc b/gdbserver/win32-arm-low.cc index 77200112df1..238ee4b05be 100644 --- a/gdbserver/win32-arm-low.cc +++ b/gdbserver/win32-arm-low.cc @@ -148,6 +148,7 @@ struct win32_target_ops the_low_target = { NULL, /* single_step */ (const unsigned char *) &arm_wince_breakpoint, arm_wince_breakpoint_len, + 0, arm_win32_get_pc, arm_win32_set_pc, /* Watchpoint related functions. See target.h for comments. */ diff --git a/gdbserver/win32-i386-low.cc b/gdbserver/win32-i386-low.cc index eac15b5694a..48893af33b2 100644 --- a/gdbserver/win32-i386-low.cc +++ b/gdbserver/win32-i386-low.cc @@ -506,6 +506,7 @@ struct win32_target_ops the_low_target = { i386_single_step, &i386_win32_breakpoint, i386_win32_breakpoint_len, + 1, i386_win32_get_pc, i386_win32_set_pc, i386_supports_z_point_type, diff --git a/gdbserver/win32-low.h b/gdbserver/win32-low.h index 56ff8a9baf2..d2b39a46fd9 100644 --- a/gdbserver/win32-low.h +++ b/gdbserver/win32-low.h @@ -63,6 +63,10 @@ struct win32_target_ops const unsigned char *breakpoint; int breakpoint_len; + /* Amount by which to decrement the PC after a breakpoint is + hit. */ + int decr_pc_after_break; + /* Get the PC register from REGCACHE. */ CORE_ADDR (*get_pc) (struct regcache *regcache); /* Set the PC register in REGCACHE. */ -- 2.30.2