diff options
author | Gary Benson <gbenson@redhat.com> | 2014-07-30 16:21:55 +0100 |
---|---|---|
committer | Gary Benson <gbenson@redhat.com> | 2014-08-19 10:07:20 +0100 |
commit | 34abf635b3edf9d70b24aa655ffd7d4696d48cde (patch) | |
tree | 589de322e6cadff3b9cf9475927ee15e021903f9 /gdb/common/agent.c | |
parent | f6e94d78b2fe30977ffefcb26420109940ca7bb1 (diff) | |
download | gdb-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.c | 24 |
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; |