Index: gdb/mi/mi-cmds.c =================================================================== RCS file: /cvs/src/src/gdb/mi/mi-cmds.c,v retrieving revision 1.37 diff -c -p -r1.37 mi-cmds.c *** gdb/mi/mi-cmds.c 17 Nov 2008 16:37:35 -0000 1.37 --- gdb/mi/mi-cmds.c 15 Dec 2008 09:57:08 -0000 *************** struct mi_cmd mi_cmds[] = *** 70,75 **** --- 70,81 ---- { "exec-step", { NULL, 0 }, mi_cmd_exec_step}, { "exec-step-instruction", { NULL, 0 }, mi_cmd_exec_step_instruction}, { "exec-until", { "until", 1 }, NULL}, + { "exec-reverse-continue", { NULL, 0 }, mi_cmd_exec_reverse_continue}, + { "exec-reverse-finish", { NULL, 0 }, mi_cmd_exec_reverse_finish}, + { "exec-reverse-next", { NULL, 0 }, mi_cmd_exec_reverse_next}, + { "exec-reverse-next-instruction", { NULL, 0 }, mi_cmd_exec_reverse_next_instruction}, + { "exec-reverse-step", { NULL, 0 }, mi_cmd_exec_reverse_step}, + { "exec-reverse-step-instruction", { NULL, 0 }, mi_cmd_exec_reverse_step_instruction}, { "file-clear", { NULL, 0 }, NULL }, { "file-exec-and-symbols", { "file", 1 }, NULL }, { "file-exec-file", { "exec-file", 1 }, NULL }, Index: gdb/mi/mi-cmds.h =================================================================== RCS file: /cvs/src/src/gdb/mi/mi-cmds.h,v retrieving revision 1.35 diff -c -p -r1.35 mi-cmds.h *** gdb/mi/mi-cmds.h 17 Nov 2008 16:37:35 -0000 1.35 --- gdb/mi/mi-cmds.h 15 Dec 2008 09:57:08 -0000 *************** extern mi_cmd_argv_ftype mi_cmd_exec_ret *** 59,64 **** --- 59,70 ---- extern mi_cmd_argv_ftype mi_cmd_exec_step; extern mi_cmd_argv_ftype mi_cmd_exec_step_instruction; extern mi_cmd_argv_ftype mi_cmd_exec_interrupt; + extern mi_cmd_argv_ftype mi_cmd_exec_reverse_continue; + extern mi_cmd_argv_ftype mi_cmd_exec_reverse_finish; + extern mi_cmd_argv_ftype mi_cmd_exec_reverse_next; + extern mi_cmd_argv_ftype mi_cmd_exec_reverse_next_instruction; + extern mi_cmd_argv_ftype mi_cmd_exec_reverse_step; + extern mi_cmd_argv_ftype mi_cmd_exec_reverse_step_instruction; extern mi_cmd_argv_ftype mi_cmd_file_list_exec_source_file; extern mi_cmd_argv_ftype mi_cmd_file_list_exec_source_files; extern mi_cmd_argv_ftype mi_cmd_gdb_exit; Index: gdb/mi/mi-main.c =================================================================== RCS file: /cvs/src/src/gdb/mi/mi-main.c,v retrieving revision 1.139 diff -c -p -r1.139 mi-main.c *** gdb/mi/mi-main.c 2 Dec 2008 15:52:15 -0000 1.139 --- gdb/mi/mi-main.c 15 Dec 2008 09:57:09 -0000 *************** mi_cmd_exec_interrupt (char *command, ch *** 261,266 **** --- 261,308 ---- error ("Usage: -exec-interrupt [--all|--thread-group id]"); } + void + mi_cmd_exec_reverse_continue (char *command, char **argv, int argc) + { + /* FIXME: Should call a libgdb function, not a cli wrapper. */ + mi_execute_async_cli_command ("reverse-continue", argv, argc); + } + + void + mi_cmd_exec_reverse_finish (char *command, char **argv, int argc) + { + /* FIXME: Should call a libgdb function, not a cli wrapper. */ + mi_execute_async_cli_command ("reverse-finish", argv, argc); + } + + void + mi_cmd_exec_reverse_next (char *command, char **argv, int argc) + { + /* FIXME: Should call a libgdb function, not a cli wrapper. */ + mi_execute_async_cli_command ("reverse-next", argv, argc); + } + + void + mi_cmd_exec_reverse_next_instruction (char *command, char **argv, int argc) + { + /* FIXME: Should call a libgdb function, not a cli wrapper. */ + mi_execute_async_cli_command ("reverse-nexti", argv, argc); + } + + void + mi_cmd_exec_reverse_step (char *command, char **argv, int argc) + { + /* FIXME: Should call a libgdb function, not a cli wrapper. */ + mi_execute_async_cli_command ("reverse-step", argv, argc); + } + + void + mi_cmd_exec_reverse_step_instruction (char *command, char **argv, int argc) + { + /* FIXME: Should call a libgdb function, not a cli wrapper. */ + mi_execute_async_cli_command ("reverse-stepi", argv, argc); + } + static int find_thread_of_process (struct thread_info *ti, void *p) {