]> git.ipfire.org Git - people/arne_f/ipfire-3.x.git/blobdiff - gdb/patches/gdb-6.6-step-thread-exit.patch
gdb: Update to version 7.12
[people/arne_f/ipfire-3.x.git] / gdb / patches / gdb-6.6-step-thread-exit.patch
diff --git a/gdb/patches/gdb-6.6-step-thread-exit.patch b/gdb/patches/gdb-6.6-step-thread-exit.patch
deleted file mode 100644 (file)
index 22afbea..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-Index: gdb-7.2.50.20101116/gdb/linux-nat.c
-===================================================================
---- gdb-7.2.50.20101116.orig/gdb/linux-nat.c   2010-11-16 07:58:15.000000000 +0100
-+++ gdb-7.2.50.20101116/gdb/linux-nat.c        2010-11-16 07:59:06.000000000 +0100
-@@ -1863,16 +1863,18 @@ resume_set_callback (struct lwp_info *lp
- static void
- linux_nat_resume (struct target_ops *ops,
--                ptid_t ptid, int step, enum target_signal signo)
-+                ptid_t ptid, int step_int, enum target_signal signo)
- {
-   sigset_t prev_mask;
-   struct lwp_info *lp;
-   int resume_many;
-+  enum resume_step step = step_int;
-   if (debug_linux_nat)
-     fprintf_unfiltered (gdb_stdlog,
-                       "LLR: Preparing to %s %s, %s, inferior_ptid %s\n",
--                      step ? "step" : "resume",
-+                      (step == RESUME_STEP_NEEDED
-+                       ? "needed" : (step ? "step" : "resume")),
-                       target_pid_to_str (ptid),
-                       (signo != TARGET_SIGNAL_0
-                        ? strsignal (target_signal_to_host (signo)) : "0"),
-@@ -3171,10 +3173,34 @@ linux_nat_filter_event (int lwpid, int s
-       if (num_lwps (GET_PID (lp->ptid)) > 1)
-        {
-+      enum resume_step step = lp->step;
-+      pid_t pid = GET_PID (lp->ptid);
-+
-        /* If there is at least one more LWP, then the exit signal
-           was not the end of the debugged application and should be
-           ignored.  */
-        exit_lwp (lp);
-+
-+      if (step == RESUME_STEP_USER)
-+        {
-+          /* Now stop the closest LWP's ...  */
-+          lp = find_lwp_pid (pid_to_ptid (pid));
-+          if (!lp)
-+            lp = lwp_list;
-+          gdb_assert (lp != NULL);
-+          errno = 0;
-+          ptrace (PTRACE_CONT, GET_LWP (lp->ptid), 0,
-+                  (void *) (unsigned long) SIGSTOP);
-+          if (debug_linux_nat)
-+            fprintf_unfiltered (gdb_stdlog,
-+                                "PTRACE_CONT %s, 0, 0 (%s)\n",
-+                                target_pid_to_str (lp->ptid),
-+                                errno ? safe_strerror (errno)
-+                                      : "OK");
-+          /* Avoid the silent `delayed SIGSTOP' handling.  */
-+          lp->signalled = 0;
-+        }
-+
-        return NULL;
-        }
-     }