NEWS and documentation for $_gdb_setting and $_gdb_setting_str.

gdb/ChangeLog
2019-10-31  Philippe Waroquiers  <philippe.waroquiers@skynet.be>

	* NEWS: Mention $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting
	and $_gdb_maint_setting_str.

gdb/doc/ChangeLog
2019-10-31  Philippe Waroquiers  <philippe.waroquiers@skynet.be>

	* gdb.texinfo (Convenience Funs): Document the new
	$_gdb_setting_str, $_gdb_maint_setting and $_gdb_maint_setting_str
	convenience functions.
This commit is contained in:
Philippe Waroquiers 2019-04-28 14:44:44 +02:00
parent f3fb2519e6
commit aed61d02fb
4 changed files with 107 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2019-10-31 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* NEWS: Mention $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting
and $_gdb_maint_setting_str.
2019-10-31 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* cli/cli-cmds.c (setting_cmd, value_from_setting)

View File

@ -11,6 +11,12 @@
scripts that should work error-free with many different versions,
such as in system-wide init files.
* New built-in convenience functions $_gdb_setting, $_gdb_setting_str,
$_gdb_maint_setting and $_gdb_maint_setting_str provide access to values
of the GDB settings and the GDB maintenance settings. They are handy
for changing the logic of user defined commands depending on the
current GDB settings.
* GDB now supports Thread Local Storage (TLS) variables on several
FreeBSD architectures (amd64, i386, powerpc, riscv). Other
architectures require kernel changes. TLS is not yet supported for

View File

@ -1,3 +1,9 @@
2019-10-31 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.texinfo (Convenience Funs): Document the new
$_gdb_setting_str, $_gdb_maint_setting and $_gdb_maint_setting_str
convenience functions.
2019-10-29 Christian Biesinger <cbiesinger@google.com>
* Makefile.in: Also set SYSTEM_GDBINIT_DIR for the info manual

View File

@ -11987,9 +11987,98 @@ $3 = void
$4 = 1
@end smallexample
@item $_gdb_setting_str (@var{setting})
@findex $_gdb_setting_str@r{, convenience function}
Return the value of the @value{GDBN} @var{setting} as a string.
@var{setting} is any setting that can be used in a @code{set} or
@code{show} command (@pxref{Controlling GDB}).
@smallexample
(@value{GDBP}) show print frame-arguments
Printing of non-scalar frame arguments is "scalars".
(@value{GDBP}) p $_gdb_setting_str("print frame-arguments")
$1 = "scalars"
(@value{GDBP}) p $_gdb_setting_str("height")
$2 = "30"
(@value{GDBP})
@end smallexample
@item $_gdb_setting (@var{setting})
@findex $_gdb_setting@r{, convenience function}
Return the value of the @value{GDBN} @var{setting}.
The type of the returned value depends on the setting.
The value type for boolean and auto boolean settings is @code{int}.
The boolean values @code{off} and @code{on} are converted to
the integer values @code{0} and @code{1}. The value @code{auto} is
converted to the value @code{-1}.
The value type for integer settings is either @code{unsigned int}
or @code{int}, depending on the setting.
Some integer settings accept an @code{unlimited} value.
Depending on the setting, the @code{set} command also accepts
the value @code{0} or the value @code{@minus{}1} as a synonym for
@code{unlimited}.
For example, @code{set height unlimited} is equivalent to
@code{set height 0}.
Some other settings that accept the @code{unlimited} value
use the value @code{0} to literally mean zero.
For example, @code{set history size 0} indicates to not
record any @value{GDBN} commands in the command history.
For such settings, @code{@minus{}1} is the synonym
for @code{unlimited}.
See the documentation of the corresponding @code{set} command for
the numerical value equivalent to @code{unlimited}.
The @code{$_gdb_setting} function converts the unlimited value
to a @code{0} or a @code{@minus{}1} value according to what the
@code{set} command uses.
@smallexample
@group
(@value{GDBP}) p $_gdb_setting_str("height")
$1 = "30"
(@value{GDBP}) p $_gdb_setting("height")
$2 = 30
(@value{GDBP}) set height unlimited
(@value{GDBP}) p $_gdb_setting_str("height")
$3 = "unlimited"
(@value{GDBP}) p $_gdb_setting("height")
$4 = 0
@end group
@group
(@value{GDBP}) p $_gdb_setting_str("history size")
$5 = "unlimited"
(@value{GDBP}) p $_gdb_setting("history size")
$6 = -1
(@value{GDBP}) p $_gdb_setting_str("disassemble-next-line")
$7 = "auto"
(@value{GDBP}) p $_gdb_setting("disassemble-next-line")
$8 = -1
(@value{GDBP})
@end group
@end smallexample
Other setting types (enum, filename, optional filename, string, string noescape)
are returned as string values.
@item $_gdb_maint_setting_str (@var{setting})
@findex $_gdb_maint_setting_str@r{, convenience function}
Like the @code{$_gdb_setting_str} function, but works with
@code{maintenance set} variables.
@item $_gdb_maint_setting (@var{setting})
@findex $_gdb_maint_setting@r{, convenience function}
Like the @code{$_gdb_setting} function, but works with
@code{maintenance set} variables.
@end table
These functions require @value{GDBN} to be configured with
The following functions require @value{GDBN} to be configured with
@code{Python} support.
@table @code