aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog12
-rw-r--r--gdb/cli/cli-cmds.c5
-rw-r--r--gdb/cli/cli-cmds.h6
-rw-r--r--gdb/doc/ChangeLog4
-rw-r--r--gdb/doc/gdb.texinfo6
-rw-r--r--gdb/gdbcmd.h4
-rw-r--r--gdb/infcmd.c5
-rw-r--r--gdb/linux-fork.c9
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.base/multi-forks.exp10
10 files changed, 51 insertions, 15 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 26954c8..f61641b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,15 @@
+2006-10-27 Andreas Schwab <schwab@suse.de>
+
+ * 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 <jimb@codesourcery.com>
* 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 fdff394..5359ed4 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 228e6aa..6d97b19 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 6594a465..9eca8fd 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -1,3 +1,7 @@
+2006-10-27 Andreas Schwab <schwab@suse.de>
+
+ * gdb.texinfo (Processes): Rename "detach-fork" to "detach fork".
+
2006-10-21 Eli Zaretskii <eliz@gnu.org>
* gdb.texinfo (Breakpoints, Set Watchpoints): Elaborate and
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 1275cbc..e14a3ea 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 a87b544..29de2d1 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 3c4aa32..704fb12 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 e96275b..8b413d9 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 <n>" (by analogy to "thread <n>"). */
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 2ca64d7..9ba407d 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2006-10-27 Andreas Schwab <schwab@suse.de>
+
+ * gdb.base/multi-forks.exp: Use "detach fork" instead of
+ "detach-fork".
+
2006-10-18 Daniel Jacobowitz <dan@codesoucery.com>
* 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 e34402a..fed0cce 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