aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog12
-rw-r--r--gdb/ada-lang.h5
-rw-r--r--gdb/ada-tasks.c2
-rw-r--r--gdb/mi/mi-cmds.c1
-rw-r--r--gdb/mi/mi-cmds.h1
-rw-r--r--gdb/mi/mi-main.c13
6 files changed, 33 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index de4fdc8..c17728b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,17 @@
2011-10-03 Joel Brobecker <brobecker@adacore.com>
+ * ada-lang.h (struct inferior): Declare.
+ (print_ada_task_info): Add declaration.
+ * ada-tasks.c (print_ada_task_info): Make non-static.
+ * mi/mi-cmds.c (mi_cmds): Add "ada-task-info".
+ * mi/mi-cmds.h (mi_cmd_ada_task_info): Add declaration.
+ * mi/mi-main.c: #include "ada-lang.h".
+ (mi_cmd_list_features): Add "ada-task-info" to the list
+ of supported features.
+ (mi_cmd_ada_task_info): New function.
+
+2011-10-03 Joel Brobecker <brobecker@adacore.com>
+
* python/python.c (python_run_simple_file): New function.
(source_python_script, source_python_script_for_objfile):
Replace call to PyRun_SimpleFile by call to
diff --git a/gdb/ada-lang.h b/gdb/ada-lang.h
index cea9804..d887ef3 100644
--- a/gdb/ada-lang.h
+++ b/gdb/ada-lang.h
@@ -22,6 +22,7 @@
#define ADA_LANG_H 1
struct frame_info;
+struct inferior;
#include "value.h"
#include "gdbtypes.h"
@@ -385,4 +386,8 @@ extern void iterate_over_live_ada_tasks
extern int ada_build_task_list (void);
+extern void print_ada_task_info (struct ui_out *uiout,
+ char *taskno_str,
+ struct inferior *inf);
+
#endif
diff --git a/gdb/ada-tasks.c b/gdb/ada-tasks.c
index 6e2f2f5..7dff8f8 100644
--- a/gdb/ada-tasks.c
+++ b/gdb/ada-tasks.c
@@ -929,7 +929,7 @@ ada_build_task_list (void)
interpreted as a task number, and the table will be limited to
that task only. */
-static void
+void
print_ada_task_info (struct ui_out *uiout,
char *arg_str,
struct inferior *inf)
diff --git a/gdb/mi/mi-cmds.c b/gdb/mi/mi-cmds.c
index 0b32db0..960d2dc 100644
--- a/gdb/mi/mi-cmds.c
+++ b/gdb/mi/mi-cmds.c
@@ -33,6 +33,7 @@ static void build_table (struct mi_cmd *commands);
struct mi_cmd mi_cmds[] =
{
+ { "ada-task-info", { NULL, 0 }, mi_cmd_ada_task_info },
{ "add-inferior", { NULL, 0 }, mi_cmd_add_inferior },
{ "break-after", { "ignore", 1 }, NULL },
{ "break-condition", { "cond", 1 }, NULL },
diff --git a/gdb/mi/mi-cmds.h b/gdb/mi/mi-cmds.h
index 18b4ad7..67aae59 100644
--- a/gdb/mi/mi-cmds.h
+++ b/gdb/mi/mi-cmds.h
@@ -36,6 +36,7 @@ extern const char mi_all_values[];
typedef void (mi_cmd_argv_ftype) (char *command, char **argv, int argc);
/* Function implementing each command */
+extern mi_cmd_argv_ftype mi_cmd_ada_task_info;
extern mi_cmd_argv_ftype mi_cmd_add_inferior;
extern mi_cmd_argv_ftype mi_cmd_break_insert;
extern mi_cmd_argv_ftype mi_cmd_break_commands;
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c
index 4ab2012..a9c7652 100644
--- a/gdb/mi/mi-main.c
+++ b/gdb/mi/mi-main.c
@@ -52,6 +52,7 @@
#include "osdata.h"
#include "splay-tree.h"
#include "tracepoint.h"
+#include "ada-lang.h"
#include <ctype.h>
#include <sys/time.h>
@@ -1720,6 +1721,7 @@ mi_cmd_list_features (char *command, char **argv, int argc)
ui_out_field_string (uiout, NULL, "thread-info");
ui_out_field_string (uiout, NULL, "data-read-memory-bytes");
ui_out_field_string (uiout, NULL, "breakpoint-notifications");
+ ui_out_field_string (uiout, NULL, "ada-task-info");
#if HAVE_PYTHON
ui_out_field_string (uiout, NULL, "python");
@@ -2503,3 +2505,14 @@ mi_cmd_trace_stop (char *command, char **argv, int argc)
stop_tracing ();
trace_status_mi (1);
}
+
+/* Implement the "-ada-task-info" GDB/MI command. */
+
+void
+mi_cmd_ada_task_info (char *command, char **argv, int argc)
+{
+ if (argc != 0 && argc != 1)
+ error (_("Invalid MI command"));
+
+ print_ada_task_info (current_uiout, argv[0], current_inferior ());
+}