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
This commit is contained in:
parent
b634d11d61
commit
54ca900277
@ -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.
|
||||
|
64
gdb/jit.c
64
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);
|
||||
|
Loading…
Reference in New Issue
Block a user