diff options
-rw-r--r-- | gdb/ChangeLog | 12 | ||||
-rw-r--r-- | gdb/ada-lang.h | 5 | ||||
-rw-r--r-- | gdb/ada-tasks.c | 2 | ||||
-rw-r--r-- | gdb/mi/mi-cmds.c | 1 | ||||
-rw-r--r-- | gdb/mi/mi-cmds.h | 1 | ||||
-rw-r--r-- | gdb/mi/mi-main.c | 13 |
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 ()); +} |