forked from Imagelibrary/binutils-gdb
Add a new debug knob for the FreeBSD native target.
For now this just logs information about the state of the current LWP for each STOPPED event in fbsd_wait(). gdb/ChangeLog: * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat". * fbsd-nat.c (debug_fbsd_nat): New variable. (show_fbsd_nat_debug): New function. (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled. (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command. gdb/doc/ChangeLog: * gdb.texinfo (Debugging Output): Document "set/show debug fbsd-nat".
This commit is contained in:
@@ -765,6 +765,7 @@ fbsd_xfer_partial (struct target_ops *ops, enum target_object object,
|
||||
|
||||
#ifdef PT_LWPINFO
|
||||
static int debug_fbsd_lwp;
|
||||
static int debug_fbsd_nat;
|
||||
|
||||
static void (*super_resume) (struct target_ops *,
|
||||
ptid_t,
|
||||
@@ -782,6 +783,14 @@ show_fbsd_lwp_debug (struct ui_file *file, int from_tty,
|
||||
fprintf_filtered (file, _("Debugging of FreeBSD lwp module is %s.\n"), value);
|
||||
}
|
||||
|
||||
static void
|
||||
show_fbsd_nat_debug (struct ui_file *file, int from_tty,
|
||||
struct cmd_list_element *c, const char *value)
|
||||
{
|
||||
fprintf_filtered (file, _("Debugging of FreeBSD native target is %s.\n"),
|
||||
value);
|
||||
}
|
||||
|
||||
/*
|
||||
FreeBSD's first thread support was via a "reentrant" version of libc
|
||||
(libc_r) that first shipped in 2.2.7. This library multiplexed all
|
||||
@@ -1212,6 +1221,18 @@ fbsd_wait (struct target_ops *ops,
|
||||
|
||||
wptid = ptid_build (pid, pl.pl_lwpid, 0);
|
||||
|
||||
if (debug_fbsd_nat)
|
||||
{
|
||||
fprintf_unfiltered (gdb_stdlog,
|
||||
"FNAT: stop for LWP %u event %d flags %#x\n",
|
||||
pl.pl_lwpid, pl.pl_event, pl.pl_flags);
|
||||
if (pl.pl_flags & PL_FLAG_SI)
|
||||
fprintf_unfiltered (gdb_stdlog,
|
||||
"FNAT: si_signo %u si_code %u\n",
|
||||
pl.pl_siginfo.si_signo,
|
||||
pl.pl_siginfo.si_code);
|
||||
}
|
||||
|
||||
#ifdef PT_LWP_EVENTS
|
||||
if (pl.pl_flags & PL_FLAG_EXITED)
|
||||
{
|
||||
@@ -1569,5 +1590,13 @@ Enables printf debugging output."),
|
||||
NULL,
|
||||
&show_fbsd_lwp_debug,
|
||||
&setdebuglist, &showdebuglist);
|
||||
add_setshow_boolean_cmd ("fbsd-nat", class_maintenance,
|
||||
&debug_fbsd_nat, _("\
|
||||
Set debugging of FreeBSD native target."), _("\
|
||||
Show debugging of FreeBSD native target."), _("\
|
||||
Enables printf debugging output."),
|
||||
NULL,
|
||||
&show_fbsd_nat_debug,
|
||||
&setdebuglist, &showdebuglist);
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user