diff options
author | Peter Schauer <Peter.Schauer@mytum.de> | 1993-05-25 06:52:54 +0000 |
---|---|---|
committer | Peter Schauer <Peter.Schauer@mytum.de> | 1993-05-25 06:52:54 +0000 |
commit | 1b71de8ea4e2230ca1bfe0451ce18800b7769173 (patch) | |
tree | f427edd3b716ab3adc49f4a32116fcf9c5e46b1e /gdb/sparc-nat.c | |
parent | 3b17ee1bad0e12a7418f7dfc2a6e1144bc013dc5 (diff) | |
download | binutils-gdb-1b71de8ea4e2230ca1bfe0451ce18800b7769173.tar.gz |
* sparc-nat.c (store_inferior_registers): Fill in all members of
inferior_fp_registers by reading them from the inferior before
modifying and writing them back.
Fixes unexplainable inferior FP exceptions after calls to the inferior
or setting of floating point registers.
* mips-tdep.c (mips_skip_prologue): Skip move of argument register
to register which is generated by gcc-2.4.
Diffstat (limited to 'gdb/sparc-nat.c')
-rw-r--r-- | gdb/sparc-nat.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/sparc-nat.c b/gdb/sparc-nat.c index f622b135394..0147055e4f8 100644 --- a/gdb/sparc-nat.c +++ b/gdb/sparc-nat.c @@ -222,6 +222,12 @@ store_inferior_registers (regno) if (wanna_store & FP_REGS) { if (!register_valid[FP0_REGNUM+9]) abort(); + /* Initialize inferior_fp_registers members that gdb doesn't set + by reading them from the inferior. */ + if (0 != + ptrace (PTRACE_GETFPREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_fp_registers, 0)) + perror("ptrace_getfpregs"); memcpy (&inferior_fp_registers, ®isters[REGISTER_BYTE (FP0_REGNUM)], sizeof inferior_fp_registers.fpu_fr); |