* hppa-tdep.c (hppa_push_dummy_frame): Remove hack which does not
authorJoel Brobecker <brobecker@gnat.com>
Tue, 18 Mar 2003 18:26:41 +0000 (18:26 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Tue, 18 Mar 2003 18:26:41 +0000 (18:26 +0000)
        appear to be working in any case.

gdb/ChangeLog
gdb/hppa-tdep.c

index 7a472db..1413a38 100644 (file)
@@ -1,5 +1,10 @@
 2003-03-18  J. Brobecker  <brobecker@gnat.com>
 
+       * hppa-tdep.c (hppa_push_dummy_frame): Remove hack which does not
+       appear to be working in any case.
+
+2003-03-18  J. Brobecker  <brobecker@gnat.com>
+
        * observer.c (observer_test_first_observer): New static variable.
        (observer_test_second_observer): Likewise.
        (observer_test_third_observer): Likewise.
index f74dfd1..35ae0a1 100644 (file)
@@ -1440,31 +1440,15 @@ hppa_push_dummy_frame (struct inferior_status *inf_status)
   CORE_ADDR int_buffer;
   double freg_buffer;
 
-  /* Oh, what a hack.  If we're trying to perform an inferior call
-     while the inferior is asleep, we have to make sure to clear
-     the "in system call" bit in the flag register (the call will
-     start after the syscall returns, so we're no longer in the system
-     call!)  This state is kept in "inf_status", change it there.
-
-     We also need a number of horrid hacks to deal with lossage in the
-     PC queue registers (apparently they're not valid when the in syscall
-     bit is set).  */
   pc = hppa_target_read_pc (inferior_ptid);
   int_buffer = read_register (FLAGS_REGNUM);
   if (int_buffer & 0x2)
     {
-      unsigned int sid;
-      int_buffer &= ~0x2;
-      write_inferior_status_register (inf_status, 0, int_buffer);
-      write_inferior_status_register (inf_status, PCOQ_HEAD_REGNUM, pc + 0);
-      write_inferior_status_register (inf_status, PCOQ_TAIL_REGNUM, pc + 4);
-      sid = (pc >> 30) & 0x3;
+      const unsigned int sid = (pc >> 30) & 0x3;
       if (sid == 0)
        pcspace = read_register (SR4_REGNUM);
       else
        pcspace = read_register (SR4_REGNUM + 4 + sid);
-      write_inferior_status_register (inf_status, PCSQ_HEAD_REGNUM, pcspace);
-      write_inferior_status_register (inf_status, PCSQ_TAIL_REGNUM, pcspace);
     }
   else
     pcspace = read_register (PCSQ_HEAD_REGNUM);