diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 26954c8215..f61641b0dc 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,15 @@ +2006-10-27 Andreas Schwab + + * gdbcmd.h (detachlist): Declare. + * infcmd.c (_initialize_infcmd): Define "detach" as prefix + command. + * linux-fork.c (_initialize_linux_fork): Rename + "detach-checkpoint" to "detach checkpoint" and "detach-fork" to + "detach fork". + * cli/cli-cmds.c (detachlist): Define. + (init_cmd_lists): Initialize it. + * cli/cli-cmds.h (detachlist): Declare. + 2006-10-25 Jim Blandy * p-valprint.c (pascal_object_print_value): Add 'static' keyword diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c index fdff3942cf..5359ed4726 100644 --- a/gdb/cli/cli-cmds.c +++ b/gdb/cli/cli-cmds.c @@ -122,6 +122,10 @@ struct cmd_list_element *stoplist; struct cmd_list_element *deletelist; +/* Chain containing all defined detach subcommands. */ + +struct cmd_list_element *detachlist; + /* Chain containing all defined "enable breakpoint" subcommands. */ struct cmd_list_element *enablebreaklist; @@ -1089,6 +1093,7 @@ init_cmd_lists (void) togglelist = NULL; stoplist = NULL; deletelist = NULL; + detachlist = NULL; enablebreaklist = NULL; setlist = NULL; unsetlist = NULL; diff --git a/gdb/cli/cli-cmds.h b/gdb/cli/cli-cmds.h index 228e6aaf16..6d97b19725 100644 --- a/gdb/cli/cli-cmds.h +++ b/gdb/cli/cli-cmds.h @@ -1,5 +1,5 @@ /* Header file for GDB CLI command implementation library. - Copyright (c) 2000 Free Software Foundation, Inc. + Copyright (c) 2000,2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -39,6 +39,10 @@ extern struct cmd_list_element *disablelist; extern struct cmd_list_element *deletelist; +/* Chain containing all defined detach subcommands. */ + +extern struct cmd_list_element *detachlist; + /* Chain containing all defined toggle subcommands. */ extern struct cmd_list_element *togglelist; diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 6594a465c7..9eca8fde63 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,7 @@ +2006-10-27 Andreas Schwab + + * gdb.texinfo (Processes): Rename "detach-fork" to "detach fork". + 2006-10-21 Eli Zaretskii * gdb.texinfo (Breakpoints, Set Watchpoints): Elaborate and diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 1275cbc786..e14a3eae26 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -2574,13 +2574,13 @@ as shown in the first field of the @samp{info forks} display. @end table To quit debugging one of the forked processes, you can either detach -from it by using the @w{@code{detach-fork}} command (allowing it to +from it by using the @w{@code{detach fork}} command (allowing it to run independently), or delete (and kill) it using the @w{@code{delete fork}} command. @table @code -@kindex detach-fork @var{fork-id} -@item detach-fork @var{fork-id} +@kindex detach fork @var{fork-id} +@item detach fork @var{fork-id} Detach from the process identified by @value{GDBN} fork number @var{fork-id}, and remove it from the fork list. The process will be allowed to run independently. diff --git a/gdb/gdbcmd.h b/gdb/gdbcmd.h index a87b5448b7..29de2d1016 100644 --- a/gdb/gdbcmd.h +++ b/gdb/gdbcmd.h @@ -50,6 +50,10 @@ extern struct cmd_list_element *disablelist; extern struct cmd_list_element *deletelist; +/* Chain containing all defined detach subcommands. */ + +extern struct cmd_list_element *detachlist; + /* Chain containing all defined toggle subcommands. */ extern struct cmd_list_element *togglelist; diff --git a/gdb/infcmd.c b/gdb/infcmd.c index 3c4aa329d6..704fb12fa3 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -2123,10 +2123,11 @@ directory, or (if not found there) using the source file search path\n\ (see the \"directory\" command). You can also use the \"file\" command\n\ to specify the program, and to load its symbol table.")); - add_com ("detach", class_run, detach_command, _("\ + add_prefix_cmd ("detach", class_run, detach_command, _("\ Detach a process or file previously attached.\n\ If a process, it is no longer traced, and it continues its execution. If\n\ -you were debugging a file, the file is closed and gdb no longer accesses it.")); +you were debugging a file, the file is closed and gdb no longer accesses it."), + &detachlist, "detach ", 0, &cmdlist); add_com ("disconnect", class_run, disconnect_command, _("\ Disconnect from a target.\n\ diff --git a/gdb/linux-fork.c b/gdb/linux-fork.c index e96275b8d5..8b413d96ed 100644 --- a/gdb/linux-fork.c +++ b/gdb/linux-fork.c @@ -693,11 +693,12 @@ Argument 'n' is checkpoint ID, as displayed by 'info checkpoints'.")); Delete a fork/checkpoint (experimental)."), &deletelist); - /* Detach-checkpoint command: release the process to run independantly, + /* Detach checkpoint command: release the process to run independently, and remove it from the fork list. */ - add_com ("detach-checkpoint", class_obscure, detach_fork_command, _("\ -Detach from a fork/checkpoint (experimental).")); + add_cmd ("checkpoint", class_obscure, detach_fork_command, _("\ +Detach from a fork/checkpoint (experimental)."), + &detachlist); /* Info checkpoints command: list all forks/checkpoints currently under gdb's control. */ @@ -709,7 +710,7 @@ Detach from a fork/checkpoint (experimental).")); interchangeably). */ add_alias_cmd ("fork", "checkpoint", class_obscure, 1, &deletelist); - add_com_alias ("detach-fork", "detach-checkpoint", class_obscure, 1); + add_alias_cmd ("fork", "checkpoint", class_obscure, 1, &detachlist); add_info_alias ("forks", "checkpoints", 0); /* "fork " (by analogy to "thread "). */ diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 2ca64d7109..9ba407da96 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-10-27 Andreas Schwab + + * gdb.base/multi-forks.exp: Use "detach fork" instead of + "detach-fork". + 2006-10-18 Daniel Jacobowitz * lib/gdbserver-support.exp (gdb_target_cmd): Anchor the ends diff --git a/gdb/testsuite/gdb.base/multi-forks.exp b/gdb/testsuite/gdb.base/multi-forks.exp index e34402ae63..fed0ccef37 100644 --- a/gdb/testsuite/gdb.base/multi-forks.exp +++ b/gdb/testsuite/gdb.base/multi-forks.exp @@ -128,14 +128,14 @@ gdb_test "restart 0" " main .*" "restart final" # # -# Test detach-fork +# Test detach fork # # [assumes we're at #0] -gdb_test "detach-fork 1" "Detached .*" "Detach 1" -gdb_test "detach-fork 2" "Detached .*" "Detach 2" -gdb_test "detach-fork 3" "Detached .*" "Detach 3" -gdb_test "detach-fork 4" "Detached .*" "Detach 4" +gdb_test "detach fork 1" "Detached .*" "Detach 1" +gdb_test "detach fork 2" "Detached .*" "Detach 2" +gdb_test "detach fork 3" "Detached .*" "Detach 3" +gdb_test "detach fork 4" "Detached .*" "Detach 4" # # Test delete fork