* i386-sol2-tdep.c (i386_sol2_gregset_reg_offset): New variable.
authorMark Kettenis <kettenis@gnu.org>
Mon, 15 Dec 2003 21:54:30 +0000 (21:54 +0000)
committerMark Kettenis <kettenis@gnu.org>
Mon, 15 Dec 2003 21:54:30 +0000 (21:54 +0000)
(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.

gdb/ChangeLog
gdb/config/i386/i386sol2.mh
gdb/config/i386/i386sol2.mt
gdb/i386-sol2-tdep.c

index e5bd30828db93b1c6296bd7ec1c56c6455ffb474..a71495df5b6a50847caa77483410e23b7c9575af 100644 (file)
@@ -1,3 +1,14 @@
+2003-12-15  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.
+
 2003-12-14  Mark Kettenis  <kettenis@gnu.org>
 
        * proc-api.c (procfs_note): Add format string to fprintf call.
index 931cc132bbbd5301babbe81d676d944e4957c145..1245ca7a4bdf063b7aef7842460dafcf57d9fc03 100644 (file)
@@ -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 93c2d7835385c1db749642abdc57cc8dad8bd722..863f61500d7cae3f9fffec7f6dd4f4fe4c6aa5f7 100644 (file)
@@ -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
index 78487af4658e9c95551860ee50d904e27d430059..2aa964e8acf8fe7c78361602f69565ff04630685 100644 (file)
 
 #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)
 {
@@ -42,6 +63,14 @@ i386_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   /* 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);
 }