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] gdbserver for x86-64


Daniel Jacobowitz wrote:
On Wed, Jul 03, 2002 at 04:40:58PM +0200, Michal Ludvig wrote:
2002-07-03 Michal Ludvig <mludvig@suse.cz>

* gdbserver/linux-x86-64-low.c (x86_64_fill_gregset): Change type in explicit cast to CORE_ADDR so that pointer arithmetic works.
(x86_64_store_gregset): Ditto + parameter made const.
(x86_64_store_fpregset): Parameter made const.

Could you change the reg_map instead, please? It's used outside of
this file and expected to be in byte offsets.
Where is it used? It seems to be a static array without any reference from outside.


Just add *4 or *8 where appropriate as I did in the i386 file.
OK, changed and committed as in the attached file.

Michal Ludvig
--
* SuSE CR, s.r.o     * mludvig@suse.cz
* +420 2 9654 5373   * http://www.suse.cz
2002-07-04  Michal Ludvig  <mludvig@suse.cz>

	* gdbserver/linux-x86-64-low.c (x86_64_regmap): Make it an array of 
	byte offsets instead of an array of indexes.
	(x86_64_store_gregset, x86_64_store_fpregset): Parameter made const.

Index: gdbserver/linux-x86-64-low.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbserver/linux-x86-64-low.c,v
retrieving revision 1.5
diff -c -3 -p -u -r1.5 linux-x86-64-low.c
--- gdbserver/linux-x86-64-low.c	11 Jun 2002 17:32:39 -0000	1.5
+++ gdbserver/linux-x86-64-low.c	4 Jul 2002 05:53:37 -0000
@@ -31,12 +31,12 @@
 #define	X86_64_NUM_GREGS 22
 
 static int x86_64_regmap[X86_64_NUM_GREGS] = {
-  RAX, RBX, RCX, RDX,
-  RSI, RDI, RBP, RSP,
-  R8, R9, R10, R11,
-  R12, R13, R14, R15,
-  RIP, EFLAGS,
-  DS, ES, FS, GS
+  RAX * 8, RBX * 8, RCX * 8, RDX * 8,
+  RSI * 8, RDI * 8, RBP * 8, RSP * 8,
+  R8 * 8, R9 * 8, R10 * 8, R11 * 8,
+  R12 * 8, R13 * 8, R14 * 8, R15 * 8,
+  RIP * 8, EFLAGS * 8,
+  DS * 8, ES * 8, FS * 8, GS * 8
 };
 
 static void
@@ -49,7 +49,7 @@
 }
 
 static void
-x86_64_store_gregset (void *buf)
+x86_64_store_gregset (const void *buf)
 {
   int i;
 
@@ -64,7 +64,7 @@
 }
 
 static void
-x86_64_store_fpregset (void *buf)
+x86_64_store_fpregset (const void *buf)
 {
   i387_fxsave_to_cache (buf);
 }

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