[PATCH] Add orig_eax to regforms

Daniel Jacobowitz drow@mvista.com
Tue Feb 26 22:18:00 GMT 2002


Committed as obvious, if somewhat regrettable.  The register packet grew
when $orig_eax was added, so GNU/Linux/i386 no longer has the same remote
protocol as other i386 targets.  We do read this register from the target,
so there's not much we can do.  Has anyone perhaps checked that an
i386-linux GDB can still talk to an i386-linux-gnu kernel via KGDB now that
it expects an extra register?

This points out that it would be nice to have regformats/ express 'core
architecture registers' and some sort of 'secondary' registers.  I'll hold
off on that for the moment, probably until after the next release.

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer

2002-02-27  Daniel Jacobowitz  <drow@mvista.com>

	* regformats/reg-i386-linux.dat: New file, with $orig_eax.
	* gdbserver/Makefile.in: Add rules for reg-i386-linux.o.
	* gdbserver/configure.srv: Change i386-*-linux* to use
	reg-i386-linux.o.

Index: regformats/reg-i386-linux.dat
===================================================================
RCS file: N/A
diff -u /dev/null regformats/reg-i386-linux.dat
--- /dev/null	Wed Dec 31 19:00:00 1969
+++ regformats/reg-i386-linux.dat	Wed Feb 27 01:14:35 2002
@@ -0,0 +1,44 @@
+name:i386_linux
+expedite:ebp,esp,eip
+32:eax
+32:ecx
+32:edx
+32:ebx
+32:esp
+32:ebp
+32:esi
+32:edi
+32:eip
+32:eflags
+32:cs
+32:ss
+32:ds
+32:es
+32:fs
+32:gs
+80:st0
+80:st1
+80:st2
+80:st3
+80:st4
+80:st5
+80:st6
+80:st7
+32:fctrl
+32:fstat
+32:ftag
+32:fiseg
+32:fioff
+32:foseg
+32:fooff
+32:fop
+128:xmm0
+128:xmm1
+128:xmm2
+128:xmm3
+128:xmm4
+128:xmm5
+128:xmm6
+128:xmm7
+32:mxcsr
+32:orig_eax
Index: gdbserver/Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/gdbserver/Makefile.in,v
retrieving revision 1.8
diff -u -p -r1.8 Makefile.in
--- gdbserver/Makefile.in	2002/02/25 02:47:23	1.8
+++ gdbserver/Makefile.in	2002/02/27 06:15:35
@@ -183,7 +183,7 @@ clean:
 	rm -f *.o ${ADD_FILES} *~
 	rm -f gdbserver gdbreplay core make.log
 	rm -f reg-arm.c reg-i386.c reg-ia64.c reg-m68k.c reg-mips.c
-	rm -f reg-ppc.c reg-sh.c
+	rm -f reg-ppc.c reg-sh.c reg-i386-linux.c
 
 distclean: clean
 	rm -f nm.h tm.h xm.h config.status
@@ -254,6 +254,9 @@ reg-arm.c : $(srcdir)/../regformats/reg-
 reg-i386.o : reg-i386.c $(regdef_h)
 reg-i386.c : $(srcdir)/../regformats/reg-i386.dat $(regdat_sh)
 	sh $(regdat_sh) $(srcdir)/../regformats/reg-i386.dat reg-i386.c
+reg-i386-linux.o : reg-i386-linux.c $(regdef_h)
+reg-i386-linux.c : $(srcdir)/../regformats/reg-i386-linux.dat $(regdat_sh)
+	sh $(regdat_sh) $(srcdir)/../regformats/reg-i386-linux.dat reg-i386-linux.c
 reg-ia64.o : reg-ia64.c $(regdef_h)
 reg-ia64.c : $(srcdir)/../regformats/reg-ia64.dat $(regdat_sh)
 	sh $(regdat_sh) $(srcdir)/../regformats/reg-ia64.dat reg-ia64.c
Index: gdbserver/configure.srv
===================================================================
RCS file: /cvs/src/src/gdb/gdbserver/configure.srv,v
retrieving revision 1.1
diff -u -p -r1.1 configure.srv
--- gdbserver/configure.srv	2002/02/25 02:47:23	1.1
+++ gdbserver/configure.srv	2002/02/27 06:15:35
@@ -17,7 +17,7 @@ case "${target}" in
   arm*-*-linux*)	srv_regobj=reg-arm.o
 			srv_tgtobj="linux-low.o linux-arm-low.o"
 			;;
-  i[3456]86-*-linux*)	srv_regobj=reg-i386.o
+  i[3456]86-*-linux*)	srv_regobj=reg-i386-linux.o
 			srv_tgtobj="linux-low.o linux-i386-low.o"
 			;;
   ia64-*-linux*)	srv_regobj=reg-ia64.o



More information about the Gdb-patches mailing list