diff options
author | Tom Tromey <tromey@adacore.com> | 2020-04-08 14:33:35 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2020-04-08 14:47:59 -0600 |
commit | e54e59297a747bb4f396345aa090d43f155b5576 (patch) | |
tree | ec458caf2634e46e76038a2fbc1c2708667ee896 /gdbserver | |
parent | d6225aff7a4f11c3443515c0d8dad12351b97575 (diff) | |
download | gdb-e54e59297a747bb4f396345aa090d43f155b5576.zip gdb-e54e59297a747bb4f396345aa090d43f155b5576.tar.gz gdb-e54e59297a747bb4f396345aa090d43f155b5576.tar.bz2 |
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 <tromey@adacore.com>
* win32-low.h (struct win32_target_ops) <decr_pc_after_break>: New
field.
* win32-i386-low.c (the_low_target): Update.
* win32-arm-low.c (the_low_target): Update.
Diffstat (limited to 'gdbserver')
-rw-r--r-- | gdbserver/ChangeLog | 7 | ||||
-rw-r--r-- | gdbserver/win32-arm-low.cc | 1 | ||||
-rw-r--r-- | gdbserver/win32-i386-low.cc | 1 | ||||
-rw-r--r-- | gdbserver/win32-low.h | 4 |
4 files changed, 13 insertions, 0 deletions
diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog index ee66a4b..24c42e2 100644 --- a/gdbserver/ChangeLog +++ b/gdbserver/ChangeLog @@ -1,5 +1,12 @@ 2020-04-08 Tom Tromey <tromey@adacore.com> + * win32-low.h (struct win32_target_ops) <decr_pc_after_break>: New + field. + * win32-i386-low.c (the_low_target): Update. + * win32-arm-low.c (the_low_target): Update. + +2020-04-08 Tom Tromey <tromey@adacore.com> + * win32-low.h (win32_process_target::read_pc) (win32_process_target::write_pc): Declare. * win32-low.c (win32_process_target::read_pc) diff --git a/gdbserver/win32-arm-low.cc b/gdbserver/win32-arm-low.cc index 7720011..238ee4b 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 eac15b5..48893af 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 56ff8a9..d2b39a4 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. */ |