aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2020-05-11 15:28:12 -0600
committerTom Tromey <tromey@adacore.com>2020-05-11 15:30:40 -0600
commit4fd6c7e872c3ab3adbca73d7fa76fed627bca890 (patch)
tree674cdf53fdc793aba73e86351cab757a959d011b
parentd30dcd1288ab230d9600413fc78a29bbd96aa14a (diff)
downloadgdb-4fd6c7e872c3ab3adbca73d7fa76fed627bca890.zip
gdb-4fd6c7e872c3ab3adbca73d7fa76fed627bca890.tar.gz
gdb-4fd6c7e872c3ab3adbca73d7fa76fed627bca890.tar.bz2
Restore info_command and breakpoint
As discussed on gdb-patches, this restores info_command and the breakpoint on info_command in gdb-gdb.gdb. This reverts a tiny part of 0743fc83c03 ("Replace most calls to help_list and cmd_show_list"), as well as 652fc23a30a ("Remove gdb-gdb.gdb breakpoint on disappeared function info_command."). gdb/ChangeLog 2020-05-11 Tom Tromey <tromey@adacore.com> * cli/cli-cmds.c (info_command): Restore. (_initialize_cli_cmds): Use add_prefix_command for "info". * gdb-gdb.gdb.in: Restore breakpoint on info_command.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/cli/cli-cmds.c15
-rw-r--r--gdb/gdb-gdb.gdb.in9
3 files changed, 28 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c88961f..3db87b9 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
2020-05-11 Tom Tromey <tromey@adacore.com>
+ * cli/cli-cmds.c (info_command): Restore.
+ (_initialize_cli_cmds): Use add_prefix_command for "info".
+ * gdb-gdb.gdb.in: Restore breakpoint on info_command.
+
+2020-05-11 Tom Tromey <tromey@adacore.com>
+
* ada-lang.c (ada_value_primitive_field): Now public.
* ada-lang.h (ada_value_primitive_field): Declare.
* ada-valprint.c (print_field_values): Use
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index 1b677f5..104d273 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -191,6 +191,17 @@ error_no_arg (const char *why)
error (_("Argument required (%s)."), why);
}
+/* This implements the "info" prefix command. Normally such commands
+ are automatically handled by add_basic_prefix_cmd, but in this case
+ a separate command is used so that it can be hooked into by
+ gdb-gdb.gdb. */
+
+static void
+info_command (const char *arg, int from_tty)
+{
+ help_list (infolist, "info ", all_commands, gdb_stdout);
+}
+
/* See cli/cli-cmds.h. */
void
@@ -2189,9 +2200,9 @@ Without an argument, history expansion is enabled."),
show_history_expansion_p,
&sethistlist, &showhistlist);
- add_basic_prefix_cmd ("info", class_info, _("\
+ add_prefix_cmd ("info", class_info, info_command, _("\
Generic command for showing things about the program being debugged."),
- &infolist, "info ", 0, &cmdlist);
+ &infolist, "info ", 0, &cmdlist);
add_com_alias ("i", "info", class_info, 1);
add_com_alias ("inf", "info", class_info, 1);
diff --git a/gdb/gdb-gdb.gdb.in b/gdb/gdb-gdb.gdb.in
index b647445..53dca0e 100644
--- a/gdb/gdb-gdb.gdb.in
+++ b/gdb/gdb-gdb.gdb.in
@@ -7,6 +7,15 @@ if !$gdb_init_done
b internal_error
+ # This provides an easy way to break into the top-level GDB by
+ # typing "info".
+ b info_command
+ commands
+ silent
+ # This avoids the voluminous output of "info".
+ return
+ end
+
dir @srcdir@/../libiberty
dir @srcdir@/../bfd
dir @srcdir@