aboutsummaryrefslogtreecommitdiff
path: root/gdb/common/agent.c
diff options
context:
space:
mode:
authorGary Benson <gbenson@redhat.com>2014-07-30 16:21:55 +0100
committerGary Benson <gbenson@redhat.com>2014-08-19 10:07:20 +0100
commit34abf635b3edf9d70b24aa655ffd7d4696d48cde (patch)
tree589de322e6cadff3b9cf9475927ee15e021903f9 /gdb/common/agent.c
parentf6e94d78b2fe30977ffefcb26420109940ca7bb1 (diff)
downloadgdb-34abf635b3edf9d70b24aa655ffd7d4696d48cde.zip
gdb-34abf635b3edf9d70b24aa655ffd7d4696d48cde.tar.gz
gdb-34abf635b3edf9d70b24aa655ffd7d4696d48cde.tar.bz2
Introduce common-debug.h
This introduces common-debug.h. This holds the functions debug_printf and debug_vprintf, two functions that the common code can use to print debugging messages. Clients of the common code are expected to implement debug_vprintf; a debug_vprintf function is written from scratch for GDB, and gdbserver's existing debug_printf is repurposed as debug_vprintf. common/agent.c is changed to use debug_vprintf rather than defining the macro DEBUG_AGENT depending on GDBSERVER. nat/i386-dregs.c is changed to use the externally-implemented debug_printf, rather than defining it itself. gdb/ChangeLog: * common/common-debug.h: New file. * common/common-debug.c: Likewise. * debug.c: Likewise. * Makefile.in (SFILES): Add common/common-debug.c. (HFILES_NO_SRCDIR): Add common/common-debug.h. (COMMON_OBS): Add common-debug.o and debug.o. (common-debug.o): New rule. * common/common-defs.h: Include common-debug.h. * common/agent.c (debug_agent_printf): New function. (DEBUG_AGENT): Redefine. * nat/i386-dregs.c (debug_printf): Undefine. gdb/gdbserver/ChangeLog: * Makefile.in (SFILES): Add common/common-debug.c. (OBS): Add common-debug.o. (common-debug.o): New rule. * debug.h (debug_printf): Don't declare. * debug.c (debug_printf): Renamed and rewritten as... (debug_vprintf): New function.
Diffstat (limited to 'gdb/common/agent.c')
-rw-r--r--gdb/common/agent.c24
1 files changed, 15 insertions, 9 deletions
diff --git a/gdb/common/agent.c b/gdb/common/agent.c
index 3f868ba..2963917 100644
--- a/gdb/common/agent.c
+++ b/gdb/common/agent.c
@@ -31,15 +31,21 @@
int debug_agent = 0;
-#ifdef GDBSERVER
-#define DEBUG_AGENT(fmt, args...) \
- if (debug_agent) \
- fprintf (stderr, fmt, ##args);
-#else
-#define DEBUG_AGENT(fmt, args...) \
- if (debug_agent) \
- fprintf_unfiltered (gdb_stdlog, fmt, ##args);
-#endif
+/* A stdarg wrapper for debug_vprintf. */
+
+static void ATTRIBUTE_PRINTF (1, 2)
+debug_agent_printf (const char *fmt, ...)
+{
+ va_list ap;
+
+ if (!debug_agent)
+ return;
+ va_start (ap, fmt);
+ debug_vprintf (fmt, ap);
+ va_end (ap);
+}
+
+#define DEBUG_AGENT debug_agent_printf
/* Global flag to determine using agent or not. */
int use_agent = 0;