* config/pa/nm-hppah.h (PREPARE_TO_PROCEED): Use the generic
authorJoel Brobecker <brobecker@gnat.com>
Wed, 4 Jun 2003 20:55:02 +0000 (20:55 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Wed, 4 Jun 2003 20:55:02 +0000 (20:55 +0000)
        prepare_to_proceed procedure instead of the hppa-specific one.
        * hppa-tdep.c (hppa_prepare_to_proceed): Remove, no longer used.

gdb/ChangeLog
gdb/config/pa/nm-hppah.h
gdb/hppa-tdep.c

index bbb66b57610b27bd30ce873f7c81f85fc96a1d8d..83782c62ab3e71d522e06af7a9394bfbb84d7c5a 100644 (file)
@@ -1,3 +1,9 @@
+2003-06-04  J. Brobecker  <brobecker@gnat.com>
+
+       * config/pa/nm-hppah.h (PREPARE_TO_PROCEED): Use the generic
+       prepare_to_proceed procedure instead of the hppa-specific one.
+       * hppa-tdep.c (hppa_prepare_to_proceed): Remove, no longer used.
+
 2003-06-04  Jeff Johnston  <jjohnstn@redhat.com>
  
        * acconfig.h: Add HAVE_TKILL_SYSCALL definition check.
index f8a2a117fa23aab165bbd3aaf1ecbc7683abe144..74bfa206d859d607c25abb5755ca1efcd75bf802 100644 (file)
@@ -55,8 +55,8 @@
 
 /* While this is for use by threaded programs, it doesn't appear
  * to hurt non-threaded ones.  This is used in infrun.c: */
-#define PREPARE_TO_PROCEED(select_it) hppa_prepare_to_proceed()
-extern int hppa_prepare_to_proceed (void);
+#define PREPARE_TO_PROCEED(select_it) generic_prepare_to_proceed(select_it)
+extern int generic_prepare_to_proceed (int select_it);
 
 /* In infptrace.c or infttrace.c: */
 #define CHILD_PID_TO_EXEC_FILE
index 9366afcff54653042af1f45e7a6aca48c626bc49..24305ff60ff76fab01a903bcea54e9e16cea57a2 100644 (file)
@@ -4673,92 +4673,6 @@ unwind_command (char *exp, int from_tty)
   pin (Total_frame_size);
 }
 
-#ifdef PREPARE_TO_PROCEED
-
-/* If the user has switched threads, and there is a breakpoint
-   at the old thread's pc location, then switch to that thread
-   and return TRUE, else return FALSE and don't do a thread
-   switch (or rather, don't seem to have done a thread switch).
-
-   Ptrace-based gdb will always return FALSE to the thread-switch
-   query, and thus also to PREPARE_TO_PROCEED.
-
-   The important thing is whether there is a BPT instruction,
-   not how many user breakpoints there are.  So we have to worry
-   about things like these:
-
-   o  Non-bp stop -- NO
-
-   o  User hits bp, no switch -- NO
-
-   o  User hits bp, switches threads -- YES
-
-   o  User hits bp, deletes bp, switches threads -- NO
-
-   o  User hits bp, deletes one of two or more bps
-   at that PC, user switches threads -- YES
-
-   o  Plus, since we're buffering events, the user may have hit a
-   breakpoint, deleted the breakpoint and then gotten another
-   hit on that same breakpoint on another thread which
-   actually hit before the delete. (FIXME in breakpoint.c
-   so that "dead" breakpoints are ignored?) -- NO
-
-   For these reasons, we have to violate information hiding and
-   call "breakpoint_here_p".  If core gdb thinks there is a bpt
-   here, that's what counts, as core gdb is the one which is
-   putting the BPT instruction in and taking it out.
-
-   Note that this implementation is potentially redundant now that
-   default_prepare_to_proceed() has been added.
-
-   FIXME This may not support switching threads after Ctrl-C
-   correctly. The default implementation does support this. */
-int
-hppa_prepare_to_proceed (void)
-{
-  pid_t old_thread;
-  pid_t current_thread;
-
-  old_thread = hppa_switched_threads (PIDGET (inferior_ptid));
-  if (old_thread != 0)
-    {
-      /* Switched over from "old_thread".  Try to do
-         as little work as possible, 'cause mostly
-         we're going to switch back. */
-      CORE_ADDR new_pc;
-      CORE_ADDR old_pc = read_pc ();
-
-      /* Yuk, shouldn't use global to specify current
-         thread.  But that's how gdb does it. */
-      current_thread = PIDGET (inferior_ptid);
-      inferior_ptid = pid_to_ptid (old_thread);
-
-      new_pc = read_pc ();
-      if (new_pc != old_pc     /* If at same pc, no need */
-         && breakpoint_here_p (new_pc))
-       {
-         /* User hasn't deleted the BP.
-            Return TRUE, finishing switch to "old_thread". */
-         flush_cached_frames ();
-         registers_changed ();
-#if 0
-         printf ("---> PREPARE_TO_PROCEED (was %d, now %d)!\n",
-                 current_thread, PIDGET (inferior_ptid));
-#endif
-
-         return 1;
-       }
-
-      /* Otherwise switch back to the user-chosen thread. */
-      inferior_ptid = pid_to_ptid (current_thread);
-      new_pc = read_pc ();     /* Re-prime register cache */
-    }
-
-  return 0;
-}
-#endif /* PREPARE_TO_PROCEED */
-
 void
 hppa_skip_permanent_breakpoint (void)
 {