From 6e1e94ea268a2f8a21319645c7feaec18ffe2f66 Mon Sep 17 00:00:00 2001 From: Mark Kettenis Date: Sat, 25 Sep 2004 12:32:01 +0000 Subject: [PATCH] * inf-ptrace.c (inf_ptrace_attach): Remove redundant parenthesis. Inline attach call. (inf_ptrace_detach): Inline detach call. --- gdb/ChangeLog | 4 ++++ gdb/inf-ptrace.c | 26 +++++++++++++++++++++----- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 607079b..ef2e651 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ 2004-09-25 Mark Kettenis + * inf-ptrace.c (inf_ptrace_attach): Remove redundant parenthesis. + Inline attach call. + (inf_ptrace_detach): Inline detach call. + * configure.in: Check for waddstr instead of mvwaddstr when searching for curses library. Check for wborder. * configure, config.in: Regenerate. diff --git a/gdb/inf-ptrace.c b/gdb/inf-ptrace.c index 234c26b..f0da821 100644 --- a/gdb/inf-ptrace.c +++ b/gdb/inf-ptrace.c @@ -336,7 +336,7 @@ inf_ptrace_attach (char *args, int from_tty) dummy = args; pid = strtol (args, &dummy, 0); /* Some targets don't set errno on errors, grrr! */ - if ((pid == 0) && (args == dummy)) + if (pid == 0 && args == dummy) error ("Illegal process-id: %s\n", args); if (pid == getpid ()) /* Trying to masturbate? */ @@ -356,7 +356,15 @@ inf_ptrace_attach (char *args, int from_tty) gdb_flush (gdb_stdout); } - attach (pid); +#ifdef PT_ATTACH + errno = 0; + ptrace (PT_ATTACH, pid, (PTRACE_TYPE_ARG3) 0, 0); + if (errno != 0) + perror_with_name ("ptrace"); + attach_flag = 1; +#else + error ("This system does not support attaching to a process"); +#endif inferior_ptid = pid_to_ptid (pid); push_target (ptrace_ops_hack); @@ -379,7 +387,7 @@ inf_ptrace_post_attach (int pid) static void inf_ptrace_detach (char *args, int from_tty) { - int siggnal = 0; + int sig = 0; int pid = PIDGET (inferior_ptid); if (from_tty) @@ -392,9 +400,17 @@ inf_ptrace_detach (char *args, int from_tty) gdb_flush (gdb_stdout); } if (args) - siggnal = atoi (args); + sig = atoi (args); - detach (siggnal); +#ifdef PT_DETACH + errno = 0; + ptrace (PT_DETACH, pid, (PTRACE_TYPE_ARG3) 1, sig); + if (errno != 0) + perror_with_name ("ptrace"); + attach_flag = 0; +#else + error ("This system does not support detaching from a process"); +#endif inferior_ptid = null_ptid; unpush_target (ptrace_ops_hack); -- 2.7.4