Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* Fix Irix core dumps
@ 2001-02-09 15:23 jkingdon
  2001-02-19 17:08 ` Andrew Cagney
  0 siblings, 1 reply; 3+ messages in thread
From: jkingdon @ 2001-02-09 15:23 UTC (permalink / raw)
  To: gdb-patches

Reading a core dump on Irix has bit-rotted some time since GDB 4.18
(which works).  The culprit has to do with the size of the floating
point registers (which thus affects all the registers after them in
the registers array).  The enclosed fix does enable GDB to read Irix
core dumps and doesn't look too hideous to me.  But I'd welcome
suggestions if there is a better way.

I also had to make a straightforward fix to bfd/irix-core.c; I'll be
sending that one to the binutils list.

2001-02-09  Jim Kingdon  <jkingdon@engr.sgi.com>

	* mips-tdep.c (mips_register_raw_size): If FP_REGISTER_DOUBLE,
	then floating point registers are 8 bytes.

Index: mips-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/mips-tdep.c,v
retrieving revision 1.40
diff -u -r1.40 mips-tdep.c
--- mips-tdep.c	2001/02/08 06:03:53	1.40
+++ mips-tdep.c	2001/02/09 22:59:43
@@ -420,7 +420,15 @@
   if (mips64_transfers_32bit_regs_p)
     return REGISTER_VIRTUAL_SIZE (reg_nr);
   else
-    return MIPS_REGSIZE;
+    {
+      /* For MIPS_ABI_N32 (for example) we need 8 byte floating point
+         registers.  */
+      if (reg_nr >= FP0_REGNUM && reg_nr < FP0_REGNUM+32
+	  && FP_REGISTER_DOUBLE)
+	return 8;
+
+      return MIPS_REGSIZE;
+    }
 }
 
 int


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2001-02-20 17:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-02-09 15:23 Fix Irix core dumps jkingdon
2001-02-19 17:08 ` Andrew Cagney
2001-02-20 17:07   ` Jim Kingdon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox