From: Tom Tromey Date: Wed, 18 Dec 2013 04:34:48 +0000 (-0700) Subject: Add target_ops argument to to_rcmd X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1aac633be67ac452b4e8948362549f8760a19af0;p=binutils-gdb.git Add target_ops argument to to_rcmd 2014-02-19 Tom Tromey * target.h (struct target_ops) : Add argument. (target_rcmd): Add argument. * target.c (debug_to_rcmd): Add argument. (update_current_target, do_monitor_command): Update. * remote.c (remote_rcmd): Add 'self' argument. * monitor.c (monitor_rcmd): Add 'self' argument. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 82a81bc68fe..09b88f72389 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2014-02-19 Tom Tromey + + * target.h (struct target_ops) : Add argument. + (target_rcmd): Add argument. + * target.c (debug_to_rcmd): Add argument. + (update_current_target, do_monitor_command): Update. + * remote.c (remote_rcmd): Add 'self' argument. + * monitor.c (monitor_rcmd): Add 'self' argument. + 2014-02-19 Tom Tromey * windows-nat.c (windows_stop): Add 'self' argument. diff --git a/gdb/monitor.c b/gdb/monitor.c index 06735dcf0aa..c46e2dfa1b8 100644 --- a/gdb/monitor.c +++ b/gdb/monitor.c @@ -2281,7 +2281,7 @@ monitor_stop (struct target_ops *self, ptid_t ptid) ourseleves here cause of a nasty echo. */ static void -monitor_rcmd (char *command, +monitor_rcmd (struct target_ops *self, char *command, struct ui_file *outbuf) { char *p; diff --git a/gdb/remote.c b/gdb/remote.c index 35f4297ef2a..0a80502aa47 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -8962,7 +8962,7 @@ remote_search_memory (struct target_ops* ops, } static void -remote_rcmd (char *command, +remote_rcmd (struct target_ops *self, char *command, struct ui_file *outbuf) { struct remote_state *rs = get_remote_state (); diff --git a/gdb/target.c b/gdb/target.c index 9b8e1e996bc..38504945ef6 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -828,7 +828,7 @@ update_current_target (void) (void (*) (struct target_ops *, ptid_t)) target_ignore); de_fault (to_rcmd, - (void (*) (char *, struct ui_file *)) + (void (*) (struct target_ops *, char *, struct ui_file *)) tcomplain); de_fault (to_pid_to_exec_file, (char *(*) (int)) @@ -4996,10 +4996,10 @@ debug_to_stop (struct target_ops *self, ptid_t ptid) } static void -debug_to_rcmd (char *command, +debug_to_rcmd (struct target_ops *self, char *command, struct ui_file *outbuf) { - debug_target.to_rcmd (command, outbuf); + debug_target.to_rcmd (&debug_target, command, outbuf); fprintf_unfiltered (gdb_stdlog, "target_rcmd (%s, ...)\n", command); } @@ -5075,10 +5075,11 @@ do_monitor_command (char *cmd, int from_tty) { if ((current_target.to_rcmd - == (void (*) (char *, struct ui_file *)) tcomplain) + == (void (*) (struct target_ops *, char *, struct ui_file *)) tcomplain) || (current_target.to_rcmd == debug_to_rcmd && (debug_target.to_rcmd - == (void (*) (char *, struct ui_file *)) tcomplain))) + == (void (*) (struct target_ops *, + char *, struct ui_file *)) tcomplain))) error (_("\"monitor\" command not supported by this target.")); target_rcmd (cmd, gdb_stdtarg); } diff --git a/gdb/target.h b/gdb/target.h index 3c2bf800183..af8d8343cbc 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -525,7 +525,8 @@ struct target_ops char *(*to_extra_thread_info) (struct target_ops *, struct thread_info *); char *(*to_thread_name) (struct target_ops *, struct thread_info *); void (*to_stop) (struct target_ops *, ptid_t); - void (*to_rcmd) (char *command, struct ui_file *output); + void (*to_rcmd) (struct target_ops *, + char *command, struct ui_file *output); char *(*to_pid_to_exec_file) (int pid); void (*to_log_command) (const char *); struct target_section_table *(*to_get_section_table) (struct target_ops *); @@ -1434,7 +1435,7 @@ extern void target_stop (ptid_t ptid); placed in OUTBUF. */ #define target_rcmd(command, outbuf) \ - (*current_target.to_rcmd) (command, outbuf) + (*current_target.to_rcmd) (¤t_target, command, outbuf) /* Does the target include all of memory, or only part of it? This