diff options
author | Antoine Tremblay <antoine.tremblay@ericsson.com> | 2015-12-18 11:33:58 -0500 |
---|---|---|
committer | Antoine Tremblay <antoine.tremblay@ericsson.com> | 2015-12-18 11:33:58 -0500 |
commit | fa5308bdcc4967861d1277b45205c2623b154a64 (patch) | |
tree | ef7f8c9ae03a5754106957d4f75946d9ac48cb80 /gdb/gdbserver/linux-nios2-low.c | |
parent | c9f203207d418f72217f4bc0997acd809a0479ce (diff) | |
download | gdb-fa5308bdcc4967861d1277b45205c2623b154a64.zip gdb-fa5308bdcc4967861d1277b45205c2623b154a64.tar.gz gdb-fa5308bdcc4967861d1277b45205c2623b154a64.tar.bz2 |
Replace breakpoint_reinsert_addr by get_next_pcs operation in GDBServer
This patch in preparation for software single step support on ARM. It refactors
breakpoint_reinsert_addr into get_next_pcs so that multiple location can be
returned.
When software single stepping there can be multiple possible next addresses
because we're stepping over a conditional branch instruction, for example.
The operation get_next_pcs handles that by returning a vector of all the
possible next addresses.
Software breakpoints are installed at each location returned.
No regressions, tested on ubuntu 14.04 ARMv7 and x86.
With gdbserver-{native,extended} / { -marm -mthumb }
gdb/gdbserver/ChangeLog:
* linux-aarch64-low.c (the_low_targets): Rename
breakpoint_reinsert_addr to get_next_pcs.
* linux-arm-low.c (the_low_targets): Likewise.
* linux-bfin-low.c (the_low_targets): Likewise.
* linux-cris-low.c (the_low_targets): Likewise.
* linux-crisv32-low.c (the_low_targets): Likewise.
* linux-low.c (can_software_single_step): Likewise.
(install_software_single_step_breakpoints): New function.
(start_step_over): Use install_software_single_step_breakpoints.
* linux-low.h: New CORE_ADDR vector.
(struct linux_target_ops) Rename breakpoint_reinsert_addr to
get_next_pcs.
* linux-mips-low.c (the_low_targets): Likewise.
* linux-nios2-low.c (the_low_targets): Likewise.
* linux-sparc-low.c (the_low_targets): Likewise.
Diffstat (limited to 'gdb/gdbserver/linux-nios2-low.c')
-rw-r--r-- | gdb/gdbserver/linux-nios2-low.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/gdbserver/linux-nios2-low.c b/gdb/gdbserver/linux-nios2-low.c index 9380c3b..1accc03 100644 --- a/gdb/gdbserver/linux-nios2-low.c +++ b/gdb/gdbserver/linux-nios2-low.c @@ -267,7 +267,7 @@ struct linux_target_ops the_low_target = nios2_set_pc, NULL, /* breakpoint_kind_from_pc */ nios2_sw_breakpoint_from_kind, - NULL, /* breakpoint_reinsert_addr */ + NULL, /* get_next_pcs */ 0, nios2_breakpoint_at, }; |