aboutsummaryrefslogtreecommitdiff
path: root/gdb/remote.c
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2010-02-15 17:35:50 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2010-02-15 17:35:50 +0000
commit74164c5624c276e97cf9cb01876ef908745cd185 (patch)
tree8c1a196ff9b052b0f8adda3aa6b0d4b045d0aada /gdb/remote.c
parent01a8201190286f181bea5731495123ea465c6251 (diff)
downloadgdb-74164c5624c276e97cf9cb01876ef908745cd185.zip
gdb-74164c5624c276e97cf9cb01876ef908745cd185.tar.gz
gdb-74164c5624c276e97cf9cb01876ef908745cd185.tar.bz2
gdb/
* defs.h (parse_pid_to_attach): New. * utils.c (parse_pid_to_attach): New. * darwin-nat.c (darwin_attach): Replace ARGS parsing by parse_pid. * gnu-nat.c (gnu_attach): Likewise. * nto-procfs.c (procfs_attach): Likewise. * procfs.c (procfs_attach): Likewise. * windows-nat.c (windows_attach): Likewise. * inf-ptrace.c (inf_ptrace_attach): Likewise. Remove variable dummy. * inf-ttrace.c (inf_ttrace_attach): Likewise. * remote.c (extended_remote_attach_1): Likewise. New comment on getpid check. gdb/testsuite/ * gdb.base/attach.exp (attach to nonsense is prohibited): Make the "Illegal process-id" expect string more exact. (attach to digits-starting nonsense is prohibited): New.
Diffstat (limited to 'gdb/remote.c')
-rw-r--r--gdb/remote.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/gdb/remote.c b/gdb/remote.c
index 709e424..6b1a27b 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -3857,17 +3857,12 @@ extended_remote_attach_1 (struct target_ops *target, char *args, int from_tty)
{
struct remote_state *rs = get_remote_state ();
int pid;
- char *dummy;
char *wait_status = NULL;
- if (!args)
- error_no_arg (_("process-id to attach"));
+ pid = parse_pid_to_attach (args);
- dummy = args;
- pid = strtol (args, &dummy, 0);
- /* Some targets don't set errno on errors, grrr! */
- if (pid == 0 && args == dummy)
- error (_("Illegal process-id: %s."), args);
+ /* Remote PID can be freely equal to getpid, do not check it here the same
+ way as in other targets. */
if (remote_protocol_packets[PACKET_vAttach].support == PACKET_DISABLE)
error (_("This target does not support attaching to a process"));