[v2] linux: Add maintenance commands to test libthread_db
Commit Message
Eli Zaretskii wrote:
> > From: Gary Benson <gbenson@redhat.com>
> >
> > The test itself is a basic integrity check exercising all libthread_db
> > functions used by GDB on GNU/Linux systems. By extension this also
> > exercises the proc_service functions provided by GDB that libthread_db
> > uses. This is useful for NPTL developers and libthread_db developers.
> > It could also prove useful investigating bugs reported against GDB
> > where the thread debugging library or GDB's proc_service layer is
> > suspect.
>
> I think some of this text should be in the manual, otherwise the
> description of the command is not very useful.
How about this, as the full diff of the manual? I added the text to
the first section, and updated the second to point at the first and
also to document what happens when automated tests fail.
--
Comments
> Date: Tue, 5 Jun 2018 16:46:13 +0100
> From: Gary Benson <gbenson@redhat.com>
> Cc: gdb-patches@sourceware.org, simon.marchi@ericsson.com,
> palves@redhat.com
>
> > I think some of this text should be in the manual, otherwise the
> > description of the command is not very useful.
>
> How about this, as the full diff of the manual? I added the text to
> the first section, and updated the second to point at the first and
> also to document what happens when automated tests fail.
Thanks, this is very good. I have a couple of minor comments:
> +@kindex maint check libthread-db
> +@item maint check libthread-db
> +Run integrity checks on the current inferior's thread debugging
> +library. This exercises all libthread_db functionality used by GDB on
"libthread_db" should be in @code or in @file. And please use
@value{GDBN} instead of a literal "GDB".
> +GNU/Linux systems, and by extension also exercises the proc_service
proc_service should be in @code.
@@ -35533,6 +35533,14 @@ modify XML target descriptions.
Check that the target descriptions dynamically created by @value{GDBN}
equal the descriptions created from XML files found in @var{dir}.
+@kindex maint check libthread-db
+@item maint check libthread-db
+Run integrity checks on the current inferior's thread debugging
+library. This exercises all libthread_db functionality used by GDB on
+GNU/Linux systems, and by extension also exercises the proc_service
+functions provided by GDB that libthread_db uses. Note that parts of
+the test may be skipped on some platforms when debugging core files.
+
@kindex maint print dummy-frames
@item maint print dummy-frames
Prints the contents of @value{GDBN}'s internal dummy-frame stack.
@@ -35840,6 +35848,17 @@ number of blocks in the blockvector
@end enumerate
@end table
+@kindex maint set check-libthread-db
+@kindex maint show check-libthread-db
+@item maint set check-libthread-db [on|off]
+@itemx maint show check-libthread-db
+Control whether @value{GDBN} should run integrity checks on inferior
+specific thread debugging libraries as they are loaded. The default
+is not to perform such checks. If any check fails @value{GDBN} will
+unload the library and continue searching for a suitable candidate as
+described in @ref{set libthread-db-search-path}. For more information
+about the tests, see @ref{maint check libthread-db}.
+
@kindex maint space
@cindex memory used by commands
@item maint space @var{value}