From 49d03eab05e8f80cffaf764d4d26932bf00519d6 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Fri, 7 Dec 2007 15:02:12 +0000 Subject: [PATCH] * target.c (update_current_target): Inherit to_log_command. * target.h (struct target_ops). Add to_log_command. (target_log_command): New macro. * top.c (execute_command): Call target_log_command() rather than serial_log_command(). * monitor.c (init_base_monitor_ops): Initialize to_log_command. * remote-m32r-sdi.c (init_m32r_ops): Likewise. * remote-mips.c (_initialize_remote_mips): Likewise. * remote.c (init_remote_ops): Likewise. --- gdb/ChangeLog | 12 ++++++++++++ gdb/monitor.c | 1 + gdb/remote-m32r-sdi.c | 1 + gdb/remote-mips.c | 1 + gdb/remote.c | 1 + gdb/target.c | 1 + gdb/target.h | 9 +++++++++ gdb/top.c | 2 +- 8 files changed, 27 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 583e090d2c..3fa5d5b1dc 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,15 @@ +2007-12-07 Maciej W. Rozycki + + * target.c (update_current_target): Inherit to_log_command. + * target.h (struct target_ops). Add to_log_command. + (target_log_command): New macro. + * top.c (execute_command): Call target_log_command() rather than + serial_log_command(). + * monitor.c (init_base_monitor_ops): Initialize to_log_command. + * remote-m32r-sdi.c (init_m32r_ops): Likewise. + * remote-mips.c (_initialize_remote_mips): Likewise. + * remote.c (init_remote_ops): Likewise. + 2007-12-06 Daniel Jacobowitz * infrun.c (init_wait_for_inferior): Reset target_last_wait_ptid. diff --git a/gdb/monitor.c b/gdb/monitor.c index 410ce629c6..2ea0085901 100644 --- a/gdb/monitor.c +++ b/gdb/monitor.c @@ -2233,6 +2233,7 @@ init_base_monitor_ops (void) monitor_ops.to_mourn_inferior = monitor_mourn_inferior; monitor_ops.to_stop = monitor_stop; monitor_ops.to_rcmd = monitor_rcmd; + monitor_ops.to_log_command = serial_log_command; monitor_ops.to_stratum = process_stratum; monitor_ops.to_has_all_memory = 1; monitor_ops.to_has_memory = 1; diff --git a/gdb/remote-m32r-sdi.c b/gdb/remote-m32r-sdi.c index ed8feb7817..a55bb316ee 100644 --- a/gdb/remote-m32r-sdi.c +++ b/gdb/remote-m32r-sdi.c @@ -1599,6 +1599,7 @@ init_m32r_ops (void) m32r_ops.to_create_inferior = m32r_create_inferior; m32r_ops.to_mourn_inferior = m32r_mourn_inferior; m32r_ops.to_stop = m32r_stop; + m32r_ops.to_log_command = serial_log_command; m32r_ops.to_stratum = process_stratum; m32r_ops.to_has_all_memory = 1; m32r_ops.to_has_memory = 1; diff --git a/gdb/remote-mips.c b/gdb/remote-mips.c index f153fb4d03..ade658da74 100644 --- a/gdb/remote-mips.c +++ b/gdb/remote-mips.c @@ -3333,6 +3333,7 @@ _initialize_remote_mips (void) mips_ops.to_load = mips_load; mips_ops.to_create_inferior = mips_create_inferior; mips_ops.to_mourn_inferior = mips_mourn_inferior; + mips_ops.to_log_command = serial_log_command; mips_ops.to_stratum = process_stratum; mips_ops.to_has_all_memory = 1; mips_ops.to_has_memory = 1; diff --git a/gdb/remote.c b/gdb/remote.c index ec7044e5eb..452af07013 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -6950,6 +6950,7 @@ Specify the serial device it is connected to\n\ remote_ops.to_stop = remote_stop; remote_ops.to_xfer_partial = remote_xfer_partial; remote_ops.to_rcmd = remote_rcmd; + remote_ops.to_log_command = serial_log_command; remote_ops.to_get_thread_local_address = remote_get_thread_local_address; remote_ops.to_stratum = process_stratum; remote_ops.to_has_all_memory = 1; diff --git a/gdb/target.c b/gdb/target.c index d89a7fbc86..c7461e23ab 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -448,6 +448,7 @@ update_current_target (void) INHERIT (to_enable_exception_callback, t); INHERIT (to_get_current_exception_event, t); INHERIT (to_pid_to_exec_file, t); + INHERIT (to_log_command, t); INHERIT (to_stratum, t); INHERIT (to_has_all_memory, t); INHERIT (to_has_memory, t); diff --git a/gdb/target.h b/gdb/target.h index 6dc36851f9..cb8db9bb03 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -404,6 +404,7 @@ struct target_ops int); struct exception_event_record *(*to_get_current_exception_event) (void); char *(*to_pid_to_exec_file) (int pid); + void (*to_log_command) (const char *); enum strata to_stratum; int to_has_all_memory; int to_has_memory; @@ -1130,6 +1131,14 @@ extern int target_stopped_data_address_p (struct target_ops *); extern const struct target_desc *target_read_description (struct target_ops *); +/* Command logging facility. */ + +#define target_log_command(p) \ + do \ + if (current_target.to_log_command) \ + (*current_target.to_log_command) (p); \ + while (0) + /* Routines for maintenance of the target structures... add_target: Add a target to the list of all possible targets. diff --git a/gdb/top.c b/gdb/top.c index beb1d9666f..a221c0c1e3 100644 --- a/gdb/top.c +++ b/gdb/top.c @@ -385,7 +385,7 @@ execute_command (char *p, int from_tty) if (p == NULL) return; - serial_log_command (p); + target_log_command (p); while (*p == ' ' || *p == '\t') p++; -- 2.34.1