This is the mail archive of the gdb-patches@sourceware.org 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]

[PATCH] Fix Linux/i386 register set size


Should be 68.  Confusion is probably caused by the fact that the note
size is 144, and that the amd64 register set is also 144.  The fact
that the GDB gcore produces wrong core files in the 32x64 case doesn't
help either.

Committed.


2010-04-20  Mark Kettenis  <kettenis@gnu.org>

	* i386-linux-tdep.c (i386_linux_regset_sections): Size of the
	general-purpose register set should be 68 instead of 144.
	(i386_linux_sse_regset_sections): Likewise.
	(i386_linux_avx_regset_sections): Likewise.


Index: i386-linux-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/i386-linux-tdep.c,v
retrieving revision 1.75
diff -u -p -r1.75 i386-linux-tdep.c
--- i386-linux-tdep.c	13 Apr 2010 21:07:16 -0000	1.75
+++ i386-linux-tdep.c	20 Apr 2010 19:26:04 -0000
@@ -56,21 +56,21 @@
 /* Supported register note sections.  */
 static struct core_regset_section i386_linux_regset_sections[] =
 {
-  { ".reg", 144, "general-purpose" },
+  { ".reg", 68, "general-purpose" },
   { ".reg2", 108, "floating-point" },
   { NULL, 0 }
 };
 
 static struct core_regset_section i386_linux_sse_regset_sections[] =
 {
-  { ".reg", 144, "general-purpose" },
+  { ".reg", 68, "general-purpose" },
   { ".reg-xfp", 512, "extended floating-point" },
   { NULL, 0 }
 };
 
 static struct core_regset_section i386_linux_avx_regset_sections[] =
 {
-  { ".reg", 144, "general-purpose" },
+  { ".reg", 68, "general-purpose" },
   { ".reg-xstate", I386_XSTATE_MAX_SIZE, "XSAVE extended state" },
   { NULL, 0 }
 };


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