gdb, gdbsupport: add debug_prefixed_printf, remove boilerplate functions
authorSimon Marchi <simon.marchi@polymtl.ca>
Sat, 31 Oct 2020 13:01:25 +0000 (09:01 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Sat, 31 Oct 2020 13:15:13 +0000 (09:15 -0400)
The *_debug_print_1 functions are all very similar, the only difference
being the subsystem name.  Remove them all and make the logging macros
use a new debug_prefixed_printf function directly.

gdb/ChangeLog:

* infrun.c (infrun_debug_printf_1): Remove.
(displaced_debug_printf_1): Remove.
(stop_all_threads): Use debug_prefixed_printf.
* infrun.h (infrun_debug_printf_1): Remove.
(infrun_debug_printf): Use debug_prefixed_printf.
(displaced_debug_printf_1): Remove.
(displaced_debug_printf): Use debug_prefixed_printf.
* linux-nat.c (linux_nat_debug_printf_1): Remove.
(linux_nat_debug_printf): Use debug_prefixed_printf.

gdbsupport/ChangeLog:

* common-debug.cc (debug_prefixed_printf): New.
* common-debug.h (debug_prefixed_printf): New declaration.
* event-loop.cc (event_loop_debug_printf_1): Remove.
* event-loop.h (event_loop_debug_printf_1): Remove.
(event_loop_debug_printf): Use debug_prefixed_printf.
(event_loop_ui_debug_printf): Use debug_prefixed_printf.

Change-Id: Ib323087c7257f0060121d302055c41eb64aa60c6

gdb/ChangeLog
gdb/infrun.c
gdb/infrun.h
gdb/linux-nat.c
gdbsupport/ChangeLog
gdbsupport/common-debug.cc
gdbsupport/common-debug.h
gdbsupport/event-loop.cc
gdbsupport/event-loop.h

index 91541795e266326deff7268580a1bcce1d4d3efb..78ab40b2a0847ca65f07f61d3cad1ec2019fdf01 100644 (file)
@@ -1,3 +1,15 @@
+2020-10-31  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * infrun.c (infrun_debug_printf_1): Remove.
+       (displaced_debug_printf_1): Remove.
+       (stop_all_threads): Use debug_prefixed_printf.
+       * infrun.h (infrun_debug_printf_1): Remove.
+       (infrun_debug_printf): Use debug_prefixed_printf.
+       (displaced_debug_printf_1): Remove.
+       (displaced_debug_printf): Use debug_prefixed_printf.
+       * linux-nat.c (linux_nat_debug_printf_1): Remove.
+       (linux_nat_debug_printf): Use debug_prefixed_printf.
+
 2020-10-31  Simon Marchi  <simon.marchi@polymtl.ca>
 
        * configure: Re-generate.
index de2437fbac39e96c28600033c0c523e520ed2545..53d7209c69fc2961c84a9bc8aceb81d2e9e4811f 100644 (file)
@@ -104,17 +104,6 @@ static int infrun_is_async = -1;
 
 /* See infrun.h.  */
 
-void
-infrun_debug_printf_1 (const char *func_name, const char *fmt, ...)
-{
-  va_list ap;
-  va_start (ap, fmt);
-  debug_prefixed_vprintf ("infrun", func_name, fmt, ap);
-  va_end (ap);
-}
-
-/* See infrun.h.  */
-
 void
 infrun_async (int enable)
 {
@@ -179,17 +168,6 @@ show_debug_infrun (struct ui_file *file, int from_tty,
   fprintf_filtered (file, _("Inferior debugging is %s.\n"), value);
 }
 
-/* See infrun.h.  */
-
-void
-displaced_debug_printf_1 (const char *func_name, const char *fmt, ...)
-{
-  va_list ap;
-  va_start (ap, fmt);
-  debug_prefixed_vprintf ("displaced", func_name, fmt, ap);
-  va_end (ap);
-}
-
 /* Support for disabling address space randomization.  */
 
 bool disable_randomization = true;
@@ -4667,10 +4645,10 @@ stop_all_threads (void)
          target_thread_events (false);
        }
 
-      /* Use infrun_debug_printf_1 directly to get a meaningful function
+      /* Use debug_prefixed_printf directly to get a meaningful function
          name.  */
       if (debug_infrun)
-       infrun_debug_printf_1 ("stop_all_threads", "done");
+       debug_prefixed_printf ("infrun", "stop_all_threads", "done");
     };
 
   /* Request threads to stop, and then wait for the stops.  Because
index 4fc1bf945889fef278bd55ec114383f43a96925c..93b8aeb8eaa0578b841e6319c7a85d1c417c6e7c 100644 (file)
@@ -31,34 +31,18 @@ struct thread_info;
 /* True if we are debugging run control.  */
 extern unsigned int debug_infrun;
 
-/* Print an "infrun" debug statement.  Should be used through
-   infrun_debug_printf.  */
-void ATTRIBUTE_PRINTF (2, 3) infrun_debug_printf_1
-  (const char *func_name, const char *fmt, ...);
+/* Print an "infrun" debug statement.  */
 
 #define infrun_debug_printf(fmt, ...) \
-  do \
-    { \
-      if (debug_infrun) \
-       infrun_debug_printf_1 (__func__, fmt, ##__VA_ARGS__); \
-    } \
-  while (0)
+  debug_prefixed_printf ("infrun", __func__, fmt, ##__VA_ARGS__)
 
 /* True if we are debugging displaced stepping.  */
 extern bool debug_displaced;
 
-/* Print a "displaced" debug statement.  Should be used through
-   displaced_debug_printf.  */
-void ATTRIBUTE_PRINTF (2, 3) displaced_debug_printf_1
-  (const char *func_name, const char *fmt, ...);
+/* Print a "displaced" debug statement.  */
 
 #define displaced_debug_printf(fmt, ...) \
-  do \
-    { \
-      if (debug_displaced) \
-       displaced_debug_printf_1 (__func__, fmt, ##__VA_ARGS__); \
-    } \
-  while (0)
+  debug_prefixed_printf ("displaced", __func__, 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.  */
index 24f971680ca52671bfd42c876044d99ca00860a5..d79ea842c2d74a51be1d5c68b65ec3f01fd2d40a 100644 (file)
@@ -199,24 +199,10 @@ show_debug_linux_nat (struct ui_file *file, int from_tty,
                    value);
 }
 
-/* Print a debug statement.  Should be used through linux_nat_debug_printf.  */
-
-static void ATTRIBUTE_PRINTF (2, 3)
-linux_nat_debug_printf_1 (const char *func_name, const char *fmt, ...)
-{
-  va_list ap;
-  va_start (ap, fmt);
-  debug_prefixed_vprintf ("linux-nat", func_name, fmt, ap);
-  va_end (ap);
-}
+/* Print a linux-nat debug statement.  */
 
 #define linux_nat_debug_printf(fmt, ...) \
-  do \
-    { \
-      if (debug_linux_nat) \
-       linux_nat_debug_printf_1 (__func__, fmt, ##__VA_ARGS__); \
-    } \
-  while (0)
+  debug_prefixed_printf ("linux-nat", __func__, fmt, ##__VA_ARGS__)
 
 struct simple_pid_list
 {
index 3d673d481b9826a608bccb6cc0e2f75a62b0eae4..5cfb6108c6a1887891ee7baae8ae86d2fc225116 100644 (file)
@@ -1,3 +1,12 @@
+2020-10-31  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * common-debug.cc (debug_prefixed_printf): New.
+       * common-debug.h (debug_prefixed_printf): New declaration.
+       * event-loop.cc (event_loop_debug_printf_1): Remove.
+       * event-loop.h (event_loop_debug_printf_1): Remove.
+       (event_loop_debug_printf): Use debug_prefixed_printf.
+       (event_loop_ui_debug_printf): Use debug_prefixed_printf.
+
 2020-10-31  Simon Marchi  <simon.marchi@polymtl.ca>
 
        * common.m4: Replace AC_TRY_COMPILE with AC_COMPILE_IFELSE +
index b8fd133159fb4873d1a725476cd93fa64a12c411..38f6023f497578fded4b7c689f8c488b153f4ee1 100644 (file)
@@ -39,8 +39,21 @@ debug_printf (const char *fmt, ...)
 /* See gdbsupport/common-debug.h.  */
 
 void
-debug_prefixed_vprintf (const char *module, const char *func, const char *format,
-                       va_list args)
+debug_prefixed_printf (const char *module, const char *func,
+                      const char *format, ...)
+{
+  va_list ap;
+
+  va_start (ap, format);
+  debug_prefixed_vprintf (module, func, format, ap);
+  va_end (ap);
+}
+
+/* See gdbsupport/common-debug.h.  */
+
+void
+debug_prefixed_vprintf (const char *module, const char *func,
+                       const char *format, va_list args)
 {
   debug_printf ("[%s] %s: ", module, func);
   debug_vprintf (format, args);
index afb427e18005088efd1d7093407df891f2d87e11..f9ddccab06331e3c97c5ceafa566a1f28f518757 100644 (file)
@@ -41,6 +41,12 @@ extern void debug_vprintf (const char *format, va_list ap)
 /* Print a debug statement prefixed with the module and function name, and
    with a newline at the end.  */
 
+extern void ATTRIBUTE_PRINTF (3, 4) debug_prefixed_printf
+  (const char *module, const char *func, const char *format, ...);
+
+/* Print a debug statement prefixed with the module and function name, and
+   with a newline at the end.  */
+
 extern void ATTRIBUTE_PRINTF (3, 0) debug_prefixed_vprintf
   (const char *module, const char *func, const char *format, va_list args);
 
index 94941580d6ab4c743cf1eb68bc42b95fc38570b5..21c48ca035962d76c3a05ea45522932790d47065 100644 (file)
@@ -912,14 +912,3 @@ poll_timers (void)
 
   return 0;
 }
-
-/* See event-loop.h.  */
-
-void
-event_loop_debug_printf_1 (const char *func_name, const char *fmt, ...)
-{
-  va_list args;
-  va_start (args, fmt);
-  debug_prefixed_vprintf ("event-loop", func_name, fmt, args);
-  va_end (args);
-}
index c29d6a8612366cf9098918706a1349ed602f710a..68808997364b287f8c71aa485b733286790f6197 100644 (file)
@@ -126,26 +126,26 @@ enum class debug_event_loop_kind
 /* True if we are printing event loop debug statements.  */
 extern debug_event_loop_kind debug_event_loop;
 
-/* Print an "event loop" debug statement.  Should be used through
-   event_loop_debug_printf.  */
-void ATTRIBUTE_PRINTF (2, 3) event_loop_debug_printf_1
-  (const char *func_name, const char *fmt, ...);
+/* Print an "event loop" debug statement.  */
 
 #define event_loop_debug_printf(fmt, ...) \
   do \
     { \
       if (debug_event_loop != debug_event_loop_kind::OFF) \
-       event_loop_debug_printf_1 (__func__, fmt, ##__VA_ARGS__); \
+       debug_prefixed_printf ("event-loop", __func__, fmt, ##__VA_ARGS__); \
     } \
   while (0)
 
+/* 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).  */
+
 #define event_loop_ui_debug_printf(is_ui, fmt, ...) \
   do \
     { \
       if (debug_event_loop == debug_event_loop_kind::ALL \
          || (debug_event_loop == debug_event_loop_kind::ALL_EXCEPT_UI \
              && !is_ui)) \
-       event_loop_debug_printf_1 (__func__, fmt, ##__VA_ARGS__); \
+       debug_prefixed_printf ("event-loop", __func__, fmt, ##__VA_ARGS__); \
     } \
   while (0)