From 3371ccc06e3e0c51f5e43ffe228cea7161cbd59d Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Tue, 18 Mar 2003 18:26:41 +0000 Subject: [PATCH] * hppa-tdep.c (hppa_push_dummy_frame): Remove hack which does not appear to be working in any case. --- gdb/ChangeLog | 5 +++++ gdb/hppa-tdep.c | 18 +----------------- 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7a472dbc3d..1413a38a35 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2003-03-18 J. Brobecker + + * hppa-tdep.c (hppa_push_dummy_frame): Remove hack which does not + appear to be working in any case. + 2003-03-18 J. Brobecker * observer.c (observer_test_first_observer): New static variable. diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c index f74dfd1b47..35ae0a183b 100644 --- a/gdb/hppa-tdep.c +++ b/gdb/hppa-tdep.c @@ -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);