gdb: add infrun_debug_printf macro
authorSimon Marchi <simon.marchi@efficios.com>
Mon, 24 Aug 2020 19:49:46 +0000 (15:49 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Mon, 24 Aug 2020 19:49:47 +0000 (15:49 -0400)
commit1eb8556f5a8b5712e765b9615f7c18ffb50253b6
treed6e4f5f9ad743e848f7bcd4bf1e144fbf3bb72c9
parent0f55320bc46869b87c54d3432fb344f785f07b33
gdb: add infrun_debug_printf macro

Introduce this macro to print debug statements in the infrun.c file,
same idea as what was done in 9327494e0eeb ("gdb: add
linux_nat_debug_printf macro").

Although in this case, there are places outside infrun.c that print
debug statements if debug_infrun is set.  So the macro has to be
declared in the header file, so that it can be used in these other
files.

Note one special case.  In stop_all_threads, I've used an explicit

    if (debug_infrun)
      infrun_debug_printf_1 ("stop_all_threads", "done");

for the message in the SCOPE_EXIT.  Otherwise, the message appears like
this:

  [infrun] operator(): done

Until we find a better solution for extracting a meaningful function
name for lambda functions, I think it's fine to handle these special
cases manually, they are quite rare.

Some tests need to be updated, because they rely on some infrun debug
statements.

gdb/ChangeLog:

* infrun.h (infrun_debug_printf_1): New function declaration.
(infrun_debug_printf): New macro.
* infrun.c (infrun_debug_printf_1): Use infrun_debug_printf
throughout.
(infrun_debug_printf): New function.
* breakpoint.c (should_be_inserted): Use infrun_debug_printf.
(handle_jit_event): Likewise.

gdb/testsuite/ChangeLog:

* gdb.base/gdb-sigterm.exp (do_test): Update expected regexp.
* gdb.threads/signal-while-stepping-over-bp-other-thread.exp:
Likewise.
* gdb.threads/stepi-random-signal.exp: Likewise.

Change-Id: I66433c8a9caa64c8525ab57c593022b9d1956d5c
gdb/ChangeLog
gdb/breakpoint.c
gdb/infrun.c
gdb/infrun.h
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/gdb-sigterm.exp
gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp
gdb/testsuite/gdb.threads/stepi-random-signal.exp