This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Re: [rfa/amd64] Zero fill 32-bit registers


   Date: Sat, 28 Feb 2004 15:39:47 -0500
   From: Andrew Cagney <cagney@gnu.org>

   > Could you live with just zero-extending the 16 general-purpose
   > registers and the instruction pointer?  I'll implement it for you.

It is certainly an improvement! Can you test it?

I've tested the attached on SuSE 8.2, with -m32.  No changes in the
testoutput for me, but the threaded stuff doesn't work very well on
the system (and probably no at all in on 32x64-bit).  I committed it
anyway, since I can't imagine this making things worse for the
threaded stuff if it works for the non-threaded stuff.  I'd appreciate
it if you could test whether this fixed the problems you were seeing.

The segment registers have the same problem, is the attached ok? 6.1? With it applied I get test results that approach i386.


Andrew

2004-02-29  Andrew Cagney  <cagney@redhat.com>

	* amd64-nat.c (amd64_collect_native_gregset): Zero-extend the
	32-bit segment registers.

Index: amd64-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/amd64-nat.c,v
retrieving revision 1.5
diff -u -r1.5 amd64-nat.c
--- amd64-nat.c	28 Feb 2004 21:55:48 -0000	1.5
+++ amd64-nat.c	29 Feb 2004 23:08:08 -0000
@@ -139,6 +139,12 @@
 	  if (regnum == -1 || regnum == i)
 	    memset (regs + amd64_native_gregset_reg_offset (i), 0, 8);
 	}
+      /* Ditto for %cs, %ss, %ds, %es, %fs, and %gs.  */
+      for (i = I386_CS_REGNUM; i < I386_ST0_REGNUM; i++)
+	{
+	  if (regnum == -1 || regnum == i)
+	    memset (regs + amd64_native_gregset_reg_offset (i), 0, 8);
+	}
     }
 
   if (num_regs > NUM_REGS)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]