aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorSébastien Darche <sdarche@efficios.com>2025-09-29 10:22:49 -0400
committerSébastien Darche <sdarche@efficios.com>2025-10-08 16:00:33 -0400
commit890bc1b7f5b156d57e86154cf333d4c5714f3a03 (patch)
treebad7206282dac1fef3ed8f87744a82e4920dc170 /gdb
parent5a9a34d769abd73a5b68f0895488c94c1c883739 (diff)
downloadbinutils-890bc1b7f5b156d57e86154cf333d4c5714f3a03.zip
binutils-890bc1b7f5b156d57e86154cf333d4c5714f3a03.tar.gz
binutils-890bc1b7f5b156d57e86154cf333d4c5714f3a03.tar.bz2
gdb: do not recompute values for inferior parameters when showing them
When calling the `show` command on a few inferior-specific settings (inferior-tty, args, cwd), GDB will recompute the values despite them being provided by a getter. For instance, When `show cwd` is called, `do_show_command` will query the value of the `cwd` through `get_inferior_cwd`, which already gets the per-inferior value. The current version seems to be a workaround from when settings could not provide a getter function and per-inferior settings could thus not be implemented properly, forcing the `show` implementation to recompute the value itself. The changes clean up the code and makes the show command trust the values it is being forwarded, as they will always be computed by the getter function. Co-Authored-By: Simon Marchi <simon.marchi@efficios.com> Change-Id: I3b25f61f9101d98a6df7d50cee50131aec7e25c9 Approved-By: Andrew Burgess <aburgess@redhat.com>
Diffstat (limited to 'gdb')
-rw-r--r--gdb/infcmd.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/gdb/infcmd.c b/gdb/infcmd.c
index 771e47d..e4b3e5b 100644
--- a/gdb/infcmd.c
+++ b/gdb/infcmd.c
@@ -111,13 +111,9 @@ static void
show_inferior_tty_command (struct ui_file *file, int from_tty,
struct cmd_list_element *c, const char *value)
{
- /* Note that we ignore the passed-in value in favor of computing it
- directly. */
- const std::string &inferior_tty = current_inferior ()->tty ();
-
gdb_printf (file,
_("Terminal for future runs of program being debugged "
- "is \"%s\".\n"), inferior_tty.c_str ());
+ "is \"%s\".\n"), value);
}
/* Store the new value passed to 'set args'. */
@@ -142,11 +138,9 @@ static void
show_args_command (struct ui_file *file, int from_tty,
struct cmd_list_element *c, const char *value)
{
- /* Ignore the passed in value, pull the argument directly from the
- inferior. However, these should always be the same. */
gdb_printf (file, _("\
Argument list to give program being debugged when it is started is \"%s\".\n"),
- current_inferior ()->args ().c_str ());
+ value);
}
/* See gdbsupport/common-inferior.h. */
@@ -171,9 +165,7 @@ static void
show_cwd_command (struct ui_file *file, int from_tty,
struct cmd_list_element *c, const char *value)
{
- const std::string &cwd = current_inferior ()->cwd ();
-
- if (cwd.empty ())
+ if (strlen (value) == 0)
gdb_printf (file,
_("\
You have not set the inferior's current working directory.\n\
@@ -183,7 +175,7 @@ server's cwd if remote debugging.\n"));
gdb_printf (file,
_("Current working directory that will be used "
"when starting the inferior is \"%s\".\n"),
- cwd.c_str ());
+ value);
}