[PATCH] Register sets for Solarix x86

Mark Kettenis kettenis@chello.nl
Mon Dec 15 21:54:00 GMT 2003


This adds register sets for Solaris x86, and cleans up after the act.

Committed,

Mark


Index: ChangeLog
from  Mark Kettenis  <kettenis@gnu.org>

	* i386-sol2-tdep.c (i386_sol2_gregset_reg_offset): New variable.
	(i386_sol2_init_abi): Initialize TDEP->gregset_reg_offset,
	TDEP->gregset_num_regs, TDEP->sizeof_gregset and
	TDEP->sizeof_fpregset.
	* config/i386/i386sol2.mh (XM_FILE): Set to xm-i386.h.
	(XM_CLIBS): Remove.
	(NATDEPFILES): Remove core-regset.o and corelow.o.
	* config/i386/i386sol2.mt (TDEPFILES): Add corelow.o.

Index: i386-sol2-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/i386-sol2-tdep.c,v
retrieving revision 1.11
diff -u -p -r1.11 i386-sol2-tdep.c
--- i386-sol2-tdep.c 30 May 2003 19:24:29 -0000 1.11
+++ i386-sol2-tdep.c 15 Dec 2003 21:53:21 -0000
@@ -24,6 +24,27 @@
 
 #include "i386-tdep.h"
 
+/* From <ia32/sys/reg.h>.  */
+static int i386_sol2_gregset_reg_offset[] =
+{
+  11 * 4,			/* %eax */
+  10 * 4,			/* %ecx */
+  9 * 4,			/* %edx */
+  8 * 4,			/* %ebx */
+  17 * 4,			/* %esp */
+  6 * 4,			/* %ebp */
+  5 * 4,			/* %esi */
+  4 * 4,			/* %edi */
+  14 * 4,			/* %eip */
+  16 * 4,			/* %eflags */
+  15 * 4,			/* %cs */
+  18 * 4,			/* %ss */
+  3 * 4,			/* %ds */
+  2 * 4,			/* %es */
+  1 * 4,			/* %fs */
+  0 * 4				/* %gs */
+};
+
 static int
 i386_sol2_pc_in_sigtramp (CORE_ADDR pc, char *name)
 {
@@ -41,6 +62,14 @@ i386_sol2_init_abi (struct gdbarch_info 
 
   /* Solaris is SVR4-based.  */
   i386_svr4_init_abi (info, gdbarch);
+
+  /* Solaris reserves space for its FPU emulator in `fpregset_t'.
+     There is also some space reserved for the registers of a Weitek
+     math coprocessor.  */
+  tdep->gregset_reg_offset = i386_sol2_gregset_reg_offset;
+  tdep->gregset_num_regs = ARRAY_SIZE (i386_sol2_gregset_reg_offset);
+  tdep->sizeof_gregset = 19 * 4;
+  tdep->sizeof_fpregset = 380;
 
   /* Signal trampolines are slightly different from SVR4.  */
   set_gdbarch_pc_in_sigtramp (gdbarch, i386_sol2_pc_in_sigtramp);
Index: config/i386/i386sol2.mh
===================================================================
RCS file: /cvs/src/src/gdb/config/i386/i386sol2.mh,v
retrieving revision 1.6
diff -u -p -r1.6 i386sol2.mh
--- config/i386/i386sol2.mh 14 Jun 2002 19:42:20 -0000 1.6
+++ config/i386/i386sol2.mh 15 Dec 2003 21:53:21 -0000
@@ -1,9 +1,8 @@
 # Host: Intel 386 running Solaris 2 (SVR4)
 
-XM_FILE= xm-i386v4.h
-XM_CLIBS= -lsocket -lnsl
+XM_FILE= xm-i386.h
 
 NAT_FILE= nm-i386sol2.h
-NATDEPFILES= core-regset.o fork-child.o i386v4-nat.o corelow.o \
+NATDEPFILES= fork-child.o i386v4-nat.o \
 	procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o gcore.o \
         solib.o solib-svr4.o solib-legacy.o
Index: config/i386/i386sol2.mt
===================================================================
RCS file: /cvs/src/src/gdb/config/i386/i386sol2.mt,v
retrieving revision 1.5
diff -u -p -r1.5 i386sol2.mt
--- config/i386/i386sol2.mt 30 May 2003 19:24:30 -0000 1.5
+++ config/i386/i386sol2.mt 15 Dec 2003 21:53:21 -0000
@@ -1,3 +1,3 @@
 # Target: Intel 386 running Solaris 2 (SVR4)
-TDEPFILES= i386-tdep.o i387-tdep.o i386-sol2-tdep.o
+TDEPFILES= i386-tdep.o i387-tdep.o i386-sol2-tdep.o corelow.o
 TM_FILE= tm-i386sol2.h



More information about the Gdb-patches mailing list