diff options
author | Antoine Tremblay <antoine.tremblay@ericsson.com> | 2015-10-23 13:20:39 -0400 |
---|---|---|
committer | Antoine Tremblay <antoine.tremblay@ericsson.com> | 2015-10-23 13:21:11 -0400 |
commit | fb78e89c56db8fddf3044cdc644d6e799ae97b3a (patch) | |
tree | 873c7f2624b4e9498612a24b6e6722791fb2cf0e /gdb/gdbserver/nto-low.c | |
parent | 2e6ee069ae81f3b5140059f6b997ccb0dcd1684e (diff) | |
download | gdb-fb78e89c56db8fddf3044cdc644d6e799ae97b3a.zip gdb-fb78e89c56db8fddf3044cdc644d6e799ae97b3a.tar.gz gdb-fb78e89c56db8fddf3044cdc644d6e799ae97b3a.tar.bz2 |
Fix nto,spu and win32 builds of GDBServer.
This patch fixes the build that was broken by :
https://sourceware.org/ml/gdb-patches/2015-10/msg00369.html
It implements the sw_breakpoint_from_kind operation on these targets and removes
the calls to set_breakpoint_data.
Compiliation tested on win32.
Not tested : nto, spu.
gdb/gdbserver/ChangeLog:
* nto-low.c (nto_sw_breakpoint_from_kind): New function.
(struct target_ops) <sw_breakpoint_from_kind>: Initialize.
(initialize_low): Remove set_breakpoint_data call.
* spu-low.c (spu_sw_breakpoint_from_kind): New function.
(struct target_ops) <sw_breakpoint_from_kind>: Iniitalize.
(initialize_low): Remove set_breakpoint_data call.
* win32-low.c (win32_sw_breakpoint_from_kind): New function.
(struct target_ops) <sw_breakpoint_from_kind>: Initialize.
(initialize_low): Remove set_breakpoint_data call.
Diffstat (limited to 'gdb/gdbserver/nto-low.c')
-rw-r--r-- | gdb/gdbserver/nto-low.c | 47 |
1 files changed, 44 insertions, 3 deletions
diff --git a/gdb/gdbserver/nto-low.c b/gdb/gdbserver/nto-low.c index 97bd1e9..d72c465 100644 --- a/gdb/gdbserver/nto-low.c +++ b/gdb/gdbserver/nto-low.c @@ -921,6 +921,14 @@ nto_supports_non_stop (void) return 0; } +/* Implementation of the target_ops method "sw_breakpoint_from_kind". */ + +static const gdb_byte * +nto_sw_breakpoint_from_kind (int kind, int *size) +{ + *size = the_low_target.breakpoint_len; + return the_low_target.breakpoint; +} static struct target_ops nto_target_ops = { @@ -961,7 +969,42 @@ static struct target_ops nto_target_ops = { NULL, /* xfer_siginfo */ nto_supports_non_stop, NULL, /* async */ - NULL /* start_non_stop */ + NULL, /* start_non_stop */ + NULL, /* supports_multi_process */ + NULL, /* supports_fork_events */ + NULL, /* supports_vfork_events */ + NULL, /* supports_exec_events */ + NULL, /* handle_new_gdb_connection */ + NULL, /* handle_monitor_command */ + NULL, /* core_of_thread */ + NULL, /* read_loadmap */ + NULL, /* process_qsupported */ + NULL, /* supports_tracepoints */ + NULL, /* read_pc */ + NULL, /* write_pc */ + NULL, /* thread_stopped */ + NULL, /* get_tib_address */ + NULL, /* pause_all */ + NULL, /* unpause_all */ + NULL, /* stabilize_threads */ + NULL, /* install_fast_tracepoint_jump_pad */ + NULL, /* emit_ops */ + NULL, /* supports_disable_randomization */ + NULL, /* get_min_fast_tracepoint_insn_len */ + NULL, /* qxfer_libraries_svr4 */ + NULL, /* support_agent */ + NULL, /* support_btrace */ + NULL, /* enable_btrace */ + NULL, /* disable_btrace */ + NULL, /* read_btrace */ + NULL, /* read_btrace_conf */ + NULL, /* supports_range_stepping */ + NULL, /* pid_to_exec_file */ + NULL, /* multifs_open */ + NULL, /* multifs_unlink */ + NULL, /* multifs_readlink */ + NULL, /* breakpoint_kind_from_pc */ + nto_sw_breakpoint_from_kind, }; @@ -975,8 +1018,6 @@ initialize_low (void) TRACE ("%s\n", __func__); set_target_ops (&nto_target_ops); - set_breakpoint_data (the_low_target.breakpoint, - the_low_target.breakpoint_len); /* We use SIGUSR1 to gain control after we block waiting for a process. We use sigwaitevent to wait. */ |