[binutils-gdb] gdb: convert jit to new-style debug macros

Simon Marchi simark@sourceware.org
Wed Jan 13 16:09:39 GMT 2021


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=54ca900277f2abe483f6c747452a528a0e804b62

commit 54ca900277f2abe483f6c747452a528a0e804b62
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Jan 13 10:48:51 2021 -0500

    gdb: convert jit to new-style debug macros
    
    Here's a sample output, with infrun debug enabled as well to show
    nesting:
    
        [infrun] fetch_inferior_event: enter
          [infrun] print_target_wait_results: target_wait (-1.0.0 [process -1], status) =
          [infrun] print_target_wait_results:   4116727.4116727.0 [process 4116727],
          [infrun] print_target_wait_results:   status->kind = stopped, signal = GDB_SIGNAL_TRAP
          [infrun] handle_inferior_event: status->kind = stopped, signal = GDB_SIGNAL_TRAP
          [infrun] start_step_over: enter
            [infrun] start_step_over: stealing global queue of threads to step, length = 0
            [infrun] operator(): step-over queue now empty
          [infrun] start_step_over: exit
          [infrun] handle_signal_stop: stop_pc=0x555555555229
          [infrun] handle_jit_event: handling bp_jit_event
          [jit] jit_read_descriptor: descriptor_addr = 0x5555555580b0
          [jit] jit_register_code: symfile_addr = 0x7000000, symfile_size = 15560
          [jit] jit_bfd_try_read_symtab: symfile_addr = 0x7000000, symfile_size = 15560
          [jit] jit_breakpoint_re_set_internal: breakpoint_addr = 0x555555555229
          [infrun] process_event_stop_test: BPSTAT_WHAT_SINGLE
          [infrun] process_event_stop_test: no stepping, continue
          [infrun] resume_1: step=1, signal=GDB_SIGNAL_0, trap_expected=1, current thread [process 4116727] at 0x555555555229
          [infrun] prepare_to_wait: prepare_to_wait
        [infrun] fetch_inferior_event: exit
    
    gdb/ChangeLog:
    
            * jit.c (jit_debug_printf): New, use throughout file.
    
    Change-Id: Ic0f5eb3ffc926fb555de4914e7dc1076ada63a97

Diff:
---
 gdb/ChangeLog |  4 ++++
 gdb/jit.c     | 64 ++++++++++++++++++++++-------------------------------------
 2 files changed, 28 insertions(+), 40 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1ea1970aa17..a4731898d48 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2021-01-13  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* jit.c (jit_debug_printf): New, use throughout file.
+
 2021-01-12  Simon Marchi  <simon.marchi@polymtl.ca>
 
 	* infrun.c (normal_stop): Fix indentation.
diff --git a/gdb/jit.c b/gdb/jit.c
index 474ba838b86..d10cc70222c 100644
--- a/gdb/jit.c
+++ b/gdb/jit.c
@@ -62,6 +62,11 @@ static struct gdbarch_data *jit_gdbarch_data;
 
 static bool jit_debug = false;
 
+/* Print a "jit" debug statement.  */
+
+#define jit_debug_printf(fmt, ...) \
+  debug_prefixed_printf_cond (jit_debug, "jit", fmt, ##__VA_ARGS__)
+
 static void
 show_jit_debug (struct ui_file *file, int from_tty,
 		struct cmd_list_element *c, const char *value)
@@ -103,9 +108,8 @@ jit_reader_load (const char *file_name)
   reader_init_fn_type *init_fn;
   struct gdb_reader_funcs *funcs = NULL;
 
-  if (jit_debug)
-    fprintf_unfiltered (gdb_stdlog, _("Opening shared object %s.\n"),
-			file_name);
+  jit_debug_printf ("Opening shared object %s", file_name);
+
   gdb_dlhandle_up so = gdb_dlopen (file_name);
 
   init_fn = (reader_init_fn_type *) gdb_dlsym (so, reader_init_fn_sym);
@@ -211,10 +215,7 @@ jit_read_descriptor (gdbarch *gdbarch,
 
   CORE_ADDR addr = MSYMBOL_VALUE_ADDRESS (jiter, objf_data->descriptor);
 
-  if (jit_debug)
-    fprintf_unfiltered (gdb_stdlog,
-			"jit_read_descriptor, descriptor_addr = %s\n",
-			paddress (gdbarch, addr));
+  jit_debug_printf ("descriptor_addr = %s", paddress (gdbarch, addr));
 
   /* Figure out how big the descriptor is on the remote and how to read it.  */
   ptr_type = builtin_type (gdbarch)->builtin_data_ptr;
@@ -668,9 +669,9 @@ jit_reader_try_read_symtab (struct jit_code_entry *code_entry,
 	status = 0;
     }
 
-  if (jit_debug && status == 0)
-    fprintf_unfiltered (gdb_stdlog,
-			"Could not read symtab using the loaded JIT reader.\n");
+  if (status == 0)
+    jit_debug_printf ("Could not read symtab using the loaded JIT reader.");
+
   return status;
 }
 
@@ -686,12 +687,9 @@ jit_bfd_try_read_symtab (struct jit_code_entry *code_entry,
   struct objfile *objfile;
   const struct bfd_arch_info *b;
 
-  if (jit_debug)
-    fprintf_unfiltered (gdb_stdlog,
-			"jit_bfd_try_read_symtab, symfile_addr = %s, "
-			"symfile_size = %s\n",
-			paddress (gdbarch, code_entry->symfile_addr),
-			pulongest (code_entry->symfile_size));
+  jit_debug_printf ("symfile_addr = %s, symfile_size = %s",
+		    paddress (gdbarch, code_entry->symfile_addr),
+		    pulongest (code_entry->symfile_size));
 
   gdb_bfd_ref_ptr nbfd (gdb_bfd_open_from_target_memory
       (code_entry->symfile_addr, code_entry->symfile_size, gnutarget));
@@ -752,12 +750,9 @@ jit_register_code (struct gdbarch *gdbarch,
 {
   int success;
 
-  if (jit_debug)
-    fprintf_unfiltered (gdb_stdlog,
-			"jit_register_code, symfile_addr = %s, "
-			"symfile_size = %s\n",
-			paddress (gdbarch, code_entry->symfile_addr),
-			pulongest (code_entry->symfile_size));
+  jit_debug_printf ("symfile_addr = %s, symfile_size = %s",
+		    paddress (gdbarch, code_entry->symfile_addr),
+		    pulongest (code_entry->symfile_size));
 
   success = jit_reader_try_read_symtab (code_entry, entry_addr);
 
@@ -845,11 +840,7 @@ jit_breakpoint_re_set_internal (struct gdbarch *gdbarch, program_space *pspace)
       CORE_ADDR addr = MSYMBOL_VALUE_ADDRESS (the_objfile,
 					      objf_data->register_code);
 
-      if (jit_debug)
-	fprintf_unfiltered (gdb_stdlog,
-			    "jit_breakpoint_re_set_internal, "
-			    "breakpoint_addr = %s\n",
-			    paddress (gdbarch, addr));
+      jit_debug_printf ("breakpoint_addr = %s", paddress (gdbarch, addr));
 
       /* Check if we need to re-create the breakpoint.  */
       if (objf_data->cached_code_address == addr)
@@ -893,10 +884,7 @@ jit_unwind_reg_set_impl (struct gdb_unwind_callbacks *cb, int dwarf_regnum,
 					  dwarf_regnum);
   if (gdb_reg == -1)
     {
-      if (jit_debug)
-	fprintf_unfiltered (gdb_stdlog,
-			    _("Could not recognize DWARF regnum %d"),
-			    dwarf_regnum);
+      jit_debug_printf ("Could not recognize DWARF regnum %d", dwarf_regnum);
       value->free (value);
       return;
     }
@@ -987,14 +975,11 @@ jit_frame_sniffer (const struct frame_unwind *self,
   /* Try to coax the provided unwinder to unwind the stack */
   if (funcs->unwind (funcs, &callbacks) == GDB_SUCCESS)
     {
-      if (jit_debug)
-	fprintf_unfiltered (gdb_stdlog, _("Successfully unwound frame using "
-					  "JIT reader.\n"));
+      jit_debug_printf ("Successfully unwound frame using JIT reader.");
       return 1;
     }
-  if (jit_debug)
-    fprintf_unfiltered (gdb_stdlog, _("Could not unwind frame using "
-				      "JIT reader.\n"));
+
+  jit_debug_printf ("Could not unwind frame using JIT reader.");
 
   jit_dealloc_cache (this_frame, *cache);
   *cache = NULL;
@@ -1105,8 +1090,7 @@ jit_inferior_init (inferior *inf)
   struct gdbarch *gdbarch = inf->gdbarch;
   program_space *pspace = inf->pspace;
 
-  if (jit_debug)
-    fprintf_unfiltered (gdb_stdlog, "jit_inferior_init\n");
+  jit_debug_printf ("called");
 
   jit_prepend_unwinder (gdbarch);
 
@@ -1254,7 +1238,7 @@ _initialize_jit ()
   add_setshow_boolean_cmd ("jit", class_maintenance, &jit_debug,
 			   _("Set JIT debugging."),
 			   _("Show JIT debugging."),
-			   _("When non-zero, JIT debugging is enabled."),
+			   _("When set, JIT debugging is enabled."),
 			   NULL,
 			   show_jit_debug,
 			   &setdebuglist, &showdebuglist);


More information about the Gdb-cvs mailing list