Browse Source

gdb: factor out debug_prefixed_printf_cond

The same pattern happens often to define a "debug_printf" macro:

    #define displaced_debug_printf(fmt, ...) \
      do \
        { \
          if (debug_displaced) \
    	debug_prefixed_printf ("displaced", __func__, fmt, ##__VA_ARGS__); \
        } \
      while (0)

Move this pattern behind a helper macro, debug_prefixed_printf_cond and
update the existing macros to use it.

gdb/ChangeLog:

	* displaced-stepping.h (displaced_debug_printf): Use
	debug_prefixed_printf_cond.
	* dwarf2/read.c (dwarf_read_debug_printf): Likewise.
	(dwarf_read_debug_printf_v): Likewise.
	* infrun.h (infrun_debug_printf): Likewise.
	* linux-nat.c (linux_nat_debug_printf): Likewise.

gdbsupport/ChangeLog:

	* common-debug.h (debug_prefixed_printf_cond): New.
	* event-loop.h (event_loop_debug_printf): Use
	debug_prefixed_printf_cond.

Change-Id: I1ff48b98b8d1cc405d1c7e8da8ceadf4e3a17f99
binutils-2_36-branch
Simon Marchi 5 years ago
parent
commit
74b773fcd6
  1. 9
      gdb/ChangeLog
  2. 7
      gdb/displaced-stepping.h
  3. 16
      gdb/dwarf2/read.c
  4. 7
      gdb/infrun.h
  5. 7
      gdb/linux-nat.c
  6. 6
      gdbsupport/ChangeLog
  7. 17
      gdbsupport/common-debug.h
  8. 8
      gdbsupport/event-loop.h

9
gdb/ChangeLog

@ -1,3 +1,12 @@
2020-12-11 Simon Marchi <simon.marchi@polymtl.ca>
* displaced-stepping.h (displaced_debug_printf): Use
debug_prefixed_printf_cond.
* dwarf2/read.c (dwarf_read_debug_printf): Likewise.
(dwarf_read_debug_printf_v): Likewise.
* infrun.h (infrun_debug_printf): Likewise.
* linux-nat.c (linux_nat_debug_printf): Likewise.
2020-12-11 Tom Tromey <tom@tromey.com>
* p-exp.y (intvar): Remove global.

7
gdb/displaced-stepping.h

@ -33,12 +33,7 @@ extern bool debug_displaced;
/* Print a "displaced" debug statement. */
#define displaced_debug_printf(fmt, ...) \
do \
{ \
if (debug_displaced) \
debug_prefixed_printf ("displaced", __func__, fmt, ##__VA_ARGS__); \
} \
while (0)
debug_prefixed_printf_cond (debug_displaced, "displaced",fmt, ##__VA_ARGS__)
enum displaced_step_prepare_status
{

16
gdb/dwarf2/read.c

@ -96,22 +96,14 @@ static unsigned int dwarf_read_debug = 0;
/* Print a "dwarf-read" debug statement if dwarf_read_debug is >= 1. */
#define dwarf_read_debug_printf(fmt, ...) \
do \
{ \
if (dwarf_read_debug >= 1) \
debug_prefixed_printf ("dwarf-read", __func__, fmt, ##__VA_ARGS__); \
} \
while (0)
debug_prefixed_printf_cond (dwarf_read_debug >= 1, "dwarf-read", fmt, \
##__VA_ARGS__)
/* Print a "dwarf-read" debug statement if dwarf_read_debug is >= 2. */
#define dwarf_read_debug_printf_v(fmt, ...) \
do \
{ \
if (dwarf_read_debug >= 2) \
debug_prefixed_printf ("dwarf-read", __func__, fmt, ##__VA_ARGS__); \
} \
while (0)
debug_prefixed_printf_cond (dwarf_read_debug >= 2, "dwarf-read", fmt, \
##__VA_ARGS__)
/* When non-zero, dump DIEs after they are read in. */
static unsigned int dwarf_die_debug = 0;

7
gdb/infrun.h

@ -34,12 +34,7 @@ extern unsigned int debug_infrun;
/* Print an "infrun" debug statement. */
#define infrun_debug_printf(fmt, ...) \
do \
{ \
if (debug_infrun) \
debug_prefixed_printf ("infrun", __func__, fmt, ##__VA_ARGS__); \
} \
while (0)
debug_prefixed_printf_cond (debug_infrun, "infrun",fmt, ##__VA_ARGS__)
/* Nonzero if we want to give control to the user when we're notified
of shared library events by the dynamic linker. */

7
gdb/linux-nat.c

@ -202,12 +202,7 @@ show_debug_linux_nat (struct ui_file *file, int from_tty,
/* Print a linux-nat debug statement. */
#define linux_nat_debug_printf(fmt, ...) \
do \
{ \
if (debug_linux_nat) \
debug_prefixed_printf ("linux-nat", __func__, fmt, ##__VA_ARGS__); \
} \
while (0)
debug_prefixed_printf_cond (debug_linux_nat, "linux-nat", fmt, ##__VA_ARGS__)
struct simple_pid_list
{

6
gdbsupport/ChangeLog

@ -1,3 +1,9 @@
2020-12-11 Simon Marchi <simon.marchi@polymtl.ca>
* common-debug.h (debug_prefixed_printf_cond): New.
* event-loop.h (event_loop_debug_printf): Use
debug_prefixed_printf_cond.
2020-12-08 Alexander Fedotov <alfedotov@gmail.com>
* pathstuff.cc (get_standard_cache_dir): Use LOCALAPPDATA environment

17
gdbsupport/common-debug.h

@ -50,4 +50,21 @@ extern void ATTRIBUTE_PRINTF (3, 4) debug_prefixed_printf
extern void ATTRIBUTE_PRINTF (3, 0) debug_prefixed_vprintf
(const char *module, const char *func, const char *format, va_list args);
/* Helper to define "_debug_print" macros.
DEBUG_ENABLED_COND is an expression that evaluates to true if the debugging
statement is enabled and should be printed.
The other arguments, as well as the name of the current function, are
forwarded to debug_prefixed_printf. */
#define debug_prefixed_printf_cond(debug_enabled_cond, module, fmt, ...) \
do \
{ \
if (debug_enabled_cond) \
debug_prefixed_printf (module, __func__, fmt, ##__VA_ARGS__); \
} \
while (0)
#endif /* COMMON_COMMON_DEBUG_H */

8
gdbsupport/event-loop.h

@ -129,12 +129,8 @@ extern debug_event_loop_kind debug_event_loop;
/* Print an "event loop" debug statement. */
#define event_loop_debug_printf(fmt, ...) \
do \
{ \
if (debug_event_loop != debug_event_loop_kind::OFF) \
debug_prefixed_printf ("event-loop", __func__, fmt, ##__VA_ARGS__); \
} \
while (0)
debug_prefixed_printf_cond (debug_event_loop != debug_event_loop_kind::OFF, \
"event-loop", fmt, ##__VA_ARGS__)
/* Print an "event loop" debug statement that is know to come from a UI-related
event (e.g. calling the event handler for the fd of the CLI). */

Loading…
Cancel
Save