aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/hppa-pinsn.c25
-rw-r--r--gdb/hppab-nat.c22
3 files changed, 34 insertions, 23 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index a360d2f..1dd56d4 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,13 @@
+Thu Jun 3 14:44:57 1993 Stu Grossman (grossman@cygnus.com)
+
+ * Patches from Jeffrey Law <law@cs.utah.edu>.
+ * hppab-nat.c: Eliminate unnecessary ifdefs for
+ FETCH_INFERIOR_REGISTERS, CANNOT_FETCH_REGISTER, and
+ CANNOT_STORE_REGISTER.
+ (fetch_register): Delete code to handle CANNOT_FETCH_REGISTER.
+ * hppa-pinsn.c: Support 'I', 'J', and 'K' in output
+ templates for 1.1 FP computational instructions.
+
Thu Jun 3 03:34:49 1993 Stu Grossman (grossman@cygnus.com)
* Makefile.in: Remove ser-tcp.[co]. (Use XDEPFILES instead.)
diff --git a/gdb/hppa-pinsn.c b/gdb/hppa-pinsn.c
index ec66865..a22b3d6 100644
--- a/gdb/hppa-pinsn.c
+++ b/gdb/hppa-pinsn.c
@@ -102,7 +102,7 @@ print_insn (memaddr, stream)
fputs_filtered (opcode->name, stream);
- if (!index ("cCY<?!@-+&U>~nZFM", opcode->args[0]))
+ if (!index ("cCY<?!@-+&U>~nZFIM", opcode->args[0]))
fputs_filtered (" ", stream);
for (s = opcode->args; *s != '\0'; ++s)
{
@@ -329,6 +329,29 @@ print_insn (memaddr, stream)
fputs_filtered (float_format_names[GET_FIELD
(insn, 26, 26)], stream);
break;
+ case 'I':
+ /* if no destination completer, need a space here */
+ if (GET_FIELD (insn, 21, 22) == 1)
+ fputs_filtered (float_format_names[GET_FIELD (insn, 20, 20)],
+ stream);
+ else
+ fprintf_filtered (stream, "%s ",
+ float_format_names[GET_FIELD
+ (insn, 20, 20)]);
+ break;
+ case 'J':
+ if (GET_FIELD (insn, 24, 24))
+ fput_reg_r (GET_FIELD (insn, 6, 10), stream);
+ else
+ fput_reg (GET_FIELD (insn, 6, 10), stream);
+
+ break;
+ case 'K':
+ if (GET_FIELD (insn, 19, 19))
+ fput_reg_r (GET_FIELD (insn, 11, 15), stream);
+ else
+ fput_reg (GET_FIELD (insn, 11, 15), stream);
+ break;
case 'M':
fputs_filtered (float_comp_names[GET_FIELD (insn, 27, 31)],
stream);
diff --git a/gdb/hppab-nat.c b/gdb/hppab-nat.c
index 3d2ca97..615b665 100644
--- a/gdb/hppab-nat.c
+++ b/gdb/hppab-nat.c
@@ -104,8 +104,6 @@ detach (signal)
-#if !defined (FETCH_INFERIOR_REGISTERS)
-
/* KERNEL_U_ADDR is the amount to subtract from u.u_ar0
to get the offset in the core file of the register values. */
#if defined (KERNEL_U_ADDR_BSD)
@@ -163,11 +161,6 @@ void _initialize_kernel_u_addr ()
- KERNEL_U_ADDR
#endif
-/* Registers we shouldn't try to fetch. */
-#if !defined (CANNOT_FETCH_REGISTER)
-#define CANNOT_FETCH_REGISTER(regno) 0
-#endif
-
/* Fetch one register. */
static void
@@ -182,13 +175,6 @@ fetch_register (regno)
/* Offset of registers within the u area. */
unsigned int offset;
- if (CANNOT_FETCH_REGISTER (regno))
- {
- bzero (buf, REGISTER_RAW_SIZE (regno)); /* Supply zeroes */
- supply_register (regno, buf);
- return;
- }
-
offset = U_REGS_OFFSET;
regaddr = register_addr (regno, offset);
@@ -207,10 +193,8 @@ fetch_register (regno)
supply_register (regno, buf);
}
-#endif /* !defined (FETCH_INFERIOR_REGISTERS). */
/* Fetch all registers, or just one, from the child process. */
-#ifndef FETCH_INFERIOR_REGISTERS
void
fetch_inferior_registers (regno)
int regno;
@@ -222,11 +206,6 @@ fetch_inferior_registers (regno)
fetch_register (regno);
}
-/* Registers we shouldn't try to store. */
-#if !defined (CANNOT_STORE_REGISTER)
-#define CANNOT_STORE_REGISTER(regno) 0
-#endif
-
/* Store our register values back into the inferior.
If REGNO is -1, do this for all registers.
Otherwise, REGNO specifies which register (so we can save time). */
@@ -281,7 +260,6 @@ store_inferior_registers (regno)
}
return;
}
-#endif /* !defined(FETCH_INFERIOR_REGISTERS) */
/* Resume execution of the inferior process.
If STEP is nonzero, single-step it.