]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
* Makefile.in (ALLDEPFILES): Remove i387-nat.c.
authorJason Thorpe <thorpej@netbsd.org>
Sat, 11 May 2002 17:22:27 +0000 (17:22 +0000)
committerJason Thorpe <thorpej@netbsd.org>
Sat, 11 May 2002 17:22:27 +0000 (17:22 +0000)
(i387-nat.o): Delete dependency list.
(go32-nat.o): Change i387-nat.h to i387-tdep.h.
(x86-64-linux-nat.o): Likewise.
* i387-nat.c: Delete file, moving contents to...
* i387-tdep.c: ...here.
* i387-nat.h: Rename...
* i387-tdep.h: ...to this.
* go32-nat.c: Include i387-tdep.h instead of i387-nat.h.
* i386-linux-nat.c: Likewise.
* i386bsd-nat.c: Likewise.
* i386gnu-nat.c: Likewise.
* i386nbsd-nat.c: Likewise.
* i386v4-nat.c: Likewise.
* x86-64-linux-nat.c: Likewise.
* config/i386/fbsd.mh (NATDEPFILES): Remove i387-nat.o.
* config/i386/go32.mh (NATDEPFILES): Likewise.
* config/i386/i386gnu.mh (NATDEPFILES): Likewise.
* config/i386/i386sol2.mh (NATDEPFILES): Likewise.
* config/i386/i386v42mp.mh (NATDEPFILES): Likewise.
* config/i386/linux.mh (NATDEPFILES): Likewise.
* config/i386/nbsd.mh (NATDEPFILES): Likewise.
* config/i386/nbsdelf.mh (NATDEPFILES): Likewise.
* config/i386/obsd.mh (NATDEPFILES): Likewise.
* config/i386/x86-64linux.mh (NATDEPFILES): Likewise.

22 files changed:
gdb/ChangeLog
gdb/Makefile.in
gdb/config/i386/fbsd.mh
gdb/config/i386/go32.mh
gdb/config/i386/i386gnu.mh
gdb/config/i386/i386sol2.mh
gdb/config/i386/i386v42mp.mh
gdb/config/i386/linux.mh
gdb/config/i386/nbsd.mh
gdb/config/i386/nbsdelf.mh
gdb/config/i386/obsd.mh
gdb/config/i386/x86-64linux.mh
gdb/go32-nat.c
gdb/i386-linux-nat.c
gdb/i386bsd-nat.c
gdb/i386gnu-nat.c
gdb/i386nbsd-nat.c
gdb/i386v4-nat.c
gdb/i387-nat.c [deleted file]
gdb/i387-tdep.c
gdb/i387-tdep.h [moved from gdb/i387-nat.h with 95% similarity]
gdb/x86-64-linux-nat.c

index be0d4d982173997f188fb7491b4f3054ad685341..870cd2a509e6ebb9e5a978fd0891e5e576433596 100644 (file)
@@ -1,3 +1,31 @@
+2002-05-11  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * Makefile.in (ALLDEPFILES): Remove i387-nat.c.
+       (i387-nat.o): Delete dependency list.
+       (go32-nat.o): Change i387-nat.h to i387-tdep.h.
+       (x86-64-linux-nat.o): Likewise.
+       * i387-nat.c: Delete file, moving contents to...
+       * i387-tdep.c: ...here.
+       * i387-nat.h: Rename...
+       * i387-tdep.h: ...to this.
+       * go32-nat.c: Include i387-tdep.h instead of i387-nat.h.
+       * i386-linux-nat.c: Likewise.
+       * i386bsd-nat.c: Likewise.
+       * i386gnu-nat.c: Likewise.
+       * i386nbsd-nat.c: Likewise.
+       * i386v4-nat.c: Likewise.
+       * x86-64-linux-nat.c: Likewise.
+       * config/i386/fbsd.mh (NATDEPFILES): Remove i387-nat.o.
+       * config/i386/go32.mh (NATDEPFILES): Likewise.
+       * config/i386/i386gnu.mh (NATDEPFILES): Likewise.
+       * config/i386/i386sol2.mh (NATDEPFILES): Likewise.
+       * config/i386/i386v42mp.mh (NATDEPFILES): Likewise.
+       * config/i386/linux.mh (NATDEPFILES): Likewise.
+       * config/i386/nbsd.mh (NATDEPFILES): Likewise.
+       * config/i386/nbsdelf.mh (NATDEPFILES): Likewise.
+       * config/i386/obsd.mh (NATDEPFILES): Likewise.
+       * config/i386/x86-64linux.mh (NATDEPFILES): Likewise.
+
 2002-05-11  Jason Thorpe  <thorpej@wasabisystems.com>
 
        * Makefile.in (ALLDEPFILES): Add alphabsd-tdep.c.
 2002-05-11  Jason Thorpe  <thorpej@wasabisystems.com>
 
        * Makefile.in (ALLDEPFILES): Add alphabsd-tdep.c.
index 4ff310502e485f167cf36b5e1f9de8e42fbf8d79..cb9efcff2d48a4f10bb8de95e23cb8932a745f26 100644 (file)
@@ -1192,7 +1192,7 @@ ALLDEPFILES = 29k-share/udi/udip2soc.c 29k-share/udi/udr.c \
        i386-tdep.c i386b-nat.c i386mach-nat.c i386v-nat.c i386-linux-nat.c \
        i386aix-nat.c i386m3-nat.c i386v4-nat.c i386ly-tdep.c \
        i386bsd-nat.c i386bsd-tdep.c i386fbsd-nat.c \
        i386-tdep.c i386b-nat.c i386mach-nat.c i386v-nat.c i386-linux-nat.c \
        i386aix-nat.c i386m3-nat.c i386v4-nat.c i386ly-tdep.c \
        i386bsd-nat.c i386bsd-tdep.c i386fbsd-nat.c \
-       i387-tdep.c i387-nat.c \
+       i387-tdep.c \
        i386-linux-tdep.c i386-nat.c \
        i960-tdep.c \
        ia64-linux-nat.c ia64-linux-tdep.c ia64-tdep.c \
        i386-linux-tdep.c i386-nat.c \
        i960-tdep.c \
        ia64-linux-nat.c ia64-linux-tdep.c ia64-tdep.c \
@@ -1557,7 +1557,7 @@ gdbtypes.o: gdbtypes.c $(bfd_h) $(complaints_h) $(defs_h) $(expression_h) \
        $(target_h) $(value_h) $(gdb_string_h) $(wrapper_h) $(cp_abi_h)
 
 go32-nat.o: go32-nat.c $(defs_h) $(inferior_h) gdb_wait.h $(gdbcore_h) \
        $(target_h) $(value_h) $(gdb_string_h) $(wrapper_h) $(cp_abi_h)
 
 go32-nat.o: go32-nat.c $(defs_h) $(inferior_h) gdb_wait.h $(gdbcore_h) \
-       $(command_h) $(floatformat_h) $(target_h) i387-nat.h $(regcache_h)
+       $(command_h) $(floatformat_h) $(target_h) i387-tdep.h $(regcache_h)
 
 gnu-nat.o: process_reply_S.h exc_request_S.h notify_S.h msg_reply_S.h \
        exc_request_U.h msg_U.h gnu-nat.h
 
 gnu-nat.o: process_reply_S.h exc_request_S.h notify_S.h msg_reply_S.h \
        exc_request_U.h msg_U.h gnu-nat.h
@@ -1634,9 +1634,6 @@ i386v4-nat.o: i386v4-nat.c $(defs_h) $(regcache_h)
 i387-tdep.o: i387-tdep.c $(floatformat_h) $(defs_h) $(gdbcore_h) \
        $(inferior_h) $(language_h) $(regcache_h) $(doublest_h) i386-tdep.h
 
 i387-tdep.o: i387-tdep.c $(floatformat_h) $(defs_h) $(gdbcore_h) \
        $(inferior_h) $(language_h) $(regcache_h) $(doublest_h) i386-tdep.h
 
-i387-nat.o: i387-nat.c $(defs_h) $(inferior_h) $(value_h) $(regcache_h) \
-       i387-nat.h
-
 i960-tdep.o: i960-tdep.c $(floatformat_h) $(defs_h) $(expression_h) \
        $(frame_h) $(gdbtypes_h) $(symtab_h) $(value_h) $(gdbcore_h) \
        $(regcache_h)
 i960-tdep.o: i960-tdep.c $(floatformat_h) $(defs_h) $(expression_h) \
        $(frame_h) $(gdbtypes_h) $(symtab_h) $(value_h) $(gdbcore_h) \
        $(regcache_h)
@@ -2162,7 +2159,7 @@ x86-64-tdep.o : x86-64-tdep.c $(defs_h) $(inferior_h) $(gdbcore_h) $(gdbcmd_h) \
        $(dwarf2cfi_h) gdb_assert.h
 
 x86-64-linux-nat.o : x86-64-linux-nat.c $(defs_h) $(inferior_h) \
        $(dwarf2cfi_h) gdb_assert.h
 
 x86-64-linux-nat.o : x86-64-linux-nat.c $(defs_h) $(inferior_h) \
-       $(gdbcore_h) $(regcache_h) i387-nat.h gdb_assert.h x86-64-tdep.h \
+       $(gdbcore_h) $(regcache_h) i387-tdep.h gdb_assert.h x86-64-tdep.h \
        i386-tdep.h
 
 win32-nat.o: win32-nat.c $(gdbcmd_h) $(gdbcore_h) $(inferior_h) $(defs_h) \
        i386-tdep.h
 
 win32-nat.o: win32-nat.c $(gdbcmd_h) $(gdbcore_h) $(inferior_h) $(defs_h) \
index 4509b9c283da3b366cc0b51f35d2ee4986fd3bfc..08d9e7db0c8386280065760df6696f573cfbcc2c 100644 (file)
@@ -4,4 +4,4 @@ XM_FILE= xm-i386.h
 
 NAT_FILE= nm-fbsd.h
 # NOTE: Do not spread NATDEPFILES over several lines - it hurts BSD make.
 
 NAT_FILE= nm-fbsd.h
 # NOTE: Do not spread NATDEPFILES over several lines - it hurts BSD make.
-NATDEPFILES= fork-child.o infptrace.o inftarg.o solib.o solib-svr4.o solib-legacy.o corelow.o core-aout.o core-regset.o i386-nat.o i387-nat.o i386bsd-nat.o i386fbsd-nat.o gcore.o fbsd-proc.o
+NATDEPFILES= fork-child.o infptrace.o inftarg.o solib.o solib-svr4.o solib-legacy.o corelow.o core-aout.o core-regset.o i386-nat.o i386bsd-nat.o i386fbsd-nat.o gcore.o fbsd-proc.o
index 3d3bdfd7511fccc4880764e5e53701bd66d1f7cc..94a7a9df24c8ce3a8e7fe8b2dd3d89eac3a8765a 100644 (file)
@@ -7,7 +7,7 @@ MMALLOC_CFLAGS=
 XM_FILE= xm-go32.h
 
 NAT_FILE= nm-go32.h
 XM_FILE= xm-go32.h
 
 NAT_FILE= nm-go32.h
-NATDEPFILES= go32-nat.o i386-nat.o i387-nat.o
+NATDEPFILES= go32-nat.o i386-nat.o
 
 TERMCAP=
 HOST_IPC=
 
 TERMCAP=
 HOST_IPC=
index 13feba51fcce322cc169fea6b8809177776116c1..da444a587b6517706ae68c1b3210fe8b543f5d7f 100644 (file)
@@ -1,5 +1,5 @@
 # Host: Intel 386 running the GNU Hurd
 # Host: Intel 386 running the GNU Hurd
-NATDEPFILES= i386gnu-nat.o i387-nat.o gnu-nat.o corelow.o core-regset.o \
+NATDEPFILES= i386gnu-nat.o gnu-nat.o corelow.o core-regset.o \
             fork-child.o solib.o solib-svr4.o solib-legacy.o \
             notify_S.o process_reply_S.o msg_reply_S.o \
             msg_U.o exc_request_U.o exc_request_S.o
             fork-child.o solib.o solib-svr4.o solib-legacy.o \
             notify_S.o process_reply_S.o msg_reply_S.o \
             msg_U.o exc_request_U.o exc_request_S.o
index ab7f474b178a6f5f5a5554bc658fbc56165b38c4..ec93f4a75b904ca7ab4439b5a124686f6a908e96 100644 (file)
@@ -4,5 +4,5 @@ XM_FILE= xm-i386v4.h
 XM_CLIBS= -lsocket -lnsl
 
 NAT_FILE= nm-i386sol2.h
 XM_CLIBS= -lsocket -lnsl
 
 NAT_FILE= nm-i386sol2.h
-NATDEPFILES= core-regset.o fork-child.o i386v4-nat.o i387-nat.o corelow.o \
+NATDEPFILES= core-regset.o fork-child.o i386v4-nat.o corelow.o \
        procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o gcore.o
        procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o gcore.o
index 6479be3290f9413bdd7996a080307df216f7f1fd..4aac5d97b84e2ab76533c7fccbe9ac5b869b9288 100644 (file)
@@ -14,7 +14,7 @@ NAT_FILE= nm-i386v42mp.h
 # continuation character (backslash) to extend a commented line.  As a
 # consequence, make considers subsequent tab-indented lines to be
 # some sort of error.
 # continuation character (backslash) to extend a commented line.  As a
 # consequence, make considers subsequent tab-indented lines to be
 # some sort of error.
-NATDEPFILES= corelow.o core-regset.o fork-child.o i386v4-nat.o i387-nat.o \
+NATDEPFILES= corelow.o core-regset.o fork-child.o i386v4-nat.o \
        gcore.o solib.o solib-svr4.o solib-legacy.o procfs.o proc-api.o \
        proc-events.o proc-flags.o proc-why.o uw-thread.o
 
        gcore.o solib.o solib-svr4.o solib-legacy.o procfs.o proc-api.o \
        proc-events.o proc-flags.o proc-why.o uw-thread.o
 
index cc645e95bb29425b9a47632dce050e3e2a0ed59e..494ccf1a4a4337717b4fe7e95132faf7558bf679 100644 (file)
@@ -4,7 +4,7 @@ XM_FILE= xm-i386.h
 
 NAT_FILE= nm-linux.h
 NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o linux-proc.o \
 
 NAT_FILE= nm-linux.h
 NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o linux-proc.o \
-       core-aout.o i386-nat.o i386-linux-nat.o i387-nat.o \
+       core-aout.o i386-nat.o i386-linux-nat.o \
        proc-service.o thread-db.o lin-lwp.o linux-proc.o gcore.o
 
 # The dynamically loaded libthread_db needs access to symbols in the
        proc-service.o thread-db.o lin-lwp.o linux-proc.o gcore.o
 
 # The dynamically loaded libthread_db needs access to symbols in the
index 66f4561b43732a22bf823827b229ddc1bffcb015..fdab53cd739fe973f981ff09783c161c68940bc1 100644 (file)
@@ -6,7 +6,7 @@
 # continuation character (backslash) to extend a commented line.  As a
 # consequence, BSD make considers subsequent tab-indented lines to be
 # "unassociated shell commands".
 # continuation character (backslash) to extend a commented line.  As a
 # consequence, BSD make considers subsequent tab-indented lines to be
 # "unassociated shell commands".
-NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o i387-nat.o i386bsd-nat.o i386nbsd-nat.o solib.o solib-sunos.o
+NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o i386bsd-nat.o i386nbsd-nat.o solib.o solib-sunos.o
 
 XM_FILE= xm-nbsd.h
 NAT_FILE= nm-nbsd.h
 
 XM_FILE= xm-nbsd.h
 NAT_FILE= nm-nbsd.h
index f25a4069ae6248fcf8acbd288ce15f7d1238b543..0dda7d65b5402a3155d44fe5e604e0d7394495d0 100644 (file)
@@ -1,4 +1,4 @@
 # Host: Intel 386 running NetBSD
 # Host: Intel 386 running NetBSD
-NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o i387-nat.o i386bsd-nat.o i386nbsd-nat.o solib.o solib-svr4.o solib-legacy.o
+NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o i386bsd-nat.o i386nbsd-nat.o solib.o solib-svr4.o solib-legacy.o
 XM_FILE= xm-nbsd.h
 NAT_FILE= nm-nbsdelf.h
 XM_FILE= xm-nbsd.h
 NAT_FILE= nm-nbsdelf.h
index 2bfd732b608463d92d4dbe09045f326a9af468cc..d9593ceb846f2e21db0c563bc176b2e64a4dd5ba 100644 (file)
@@ -4,4 +4,4 @@ XM_FILE= xm-i386.h
 
 NAT_FILE= nm-obsd.h
 # NOTE: Do not spread NATDEPFILES over several lines - it hurts BSD make.
 
 NAT_FILE= nm-obsd.h
 # NOTE: Do not spread NATDEPFILES over several lines - it hurts BSD make.
-NATDEPFILES= fork-child.o infptrace.o inftarg.o solib.o solib-sunos.o corelow.o core-aout.o i386-nat.o i387-nat.o i386bsd-nat.o
+NATDEPFILES= fork-child.o infptrace.o inftarg.o solib.o solib-sunos.o corelow.o core-aout.o i386-nat.o i386bsd-nat.o
index a0a192c2bd64e824236f7160a05c163f24c2dc87..bc79f3f235ca0023b17451cc9b0b239e121f9592 100644 (file)
@@ -5,7 +5,7 @@ XM_FILE= xm-i386.h
 NAT_FILE= nm-x86-64.h
 NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o \
        core-aout.o i386-nat.o x86-64-linux-nat.o \
 NAT_FILE= nm-x86-64.h
 NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o \
        core-aout.o i386-nat.o x86-64-linux-nat.o \
-       i387-nat.o proc-service.o thread-db.o lin-lwp.o \
+       proc-service.o thread-db.o lin-lwp.o \
        linux-proc.o gcore.o 
 
 LOADLIBES = -ldl -rdynamic
        linux-proc.o gcore.o 
 
 LOADLIBES = -ldl -rdynamic
index 7b64b17406e9a0a991044f7e85421a0cf82aca81..a16b1b3729525c7a5e840d94a28a941a62902bb9 100644 (file)
@@ -29,7 +29,7 @@
 #include "gdbcmd.h"
 #include "floatformat.h"
 #include "buildsym.h"
 #include "gdbcmd.h"
 #include "floatformat.h"
 #include "buildsym.h"
-#include "i387-nat.h"
+#include "i387-tdep.h"
 #include "i386-tdep.h"
 #include "value.h"
 #include "regcache.h"
 #include "i386-tdep.h"
 #include "value.h"
 #include "regcache.h"
index a0d19e73438b3427da587720cbbeb1a3a343777f..e20e894113ec97afdf495d107180c44d1d0d5818 100644 (file)
@@ -57,7 +57,7 @@
 #include "gregset.h"
 
 /* Prototypes for i387_supply_fsave etc.  */
 #include "gregset.h"
 
 /* Prototypes for i387_supply_fsave etc.  */
-#include "i387-nat.h"
+#include "i387-tdep.h"
 
 /* Defines for XMM0_REGNUM etc. */
 #include "i386-tdep.h"
 
 /* Defines for XMM0_REGNUM etc. */
 #include "i386-tdep.h"
index 5d3583041b6e1bf2706e3aeffc120f0627ea5a8d..ad5a3013f34092f89cbf71945281ecd9e9aee3ee 100644 (file)
@@ -148,7 +148,7 @@ fill_gregset (gregset_t *gregsetp, int regno)
       regcache_collect (i, REG_ADDR (gregsetp, i));
 }
 
       regcache_collect (i, REG_ADDR (gregsetp, i));
 }
 
-#include "i387-nat.h"
+#include "i387-tdep.h"
 
 /* Fill GDB's register array with the floating-point register values
    in *FPREGSETP.  */
 
 /* Fill GDB's register array with the floating-point register values
    in *FPREGSETP.  */
index e82fe0d9786fea221fbbe458187493dfb6963d79..329ef2fd17a0cdea06f45347fe664e05e3fcbeff 100644 (file)
@@ -36,7 +36,7 @@
 #include "i386-tdep.h"
 
 #include "gnu-nat.h"
 #include "i386-tdep.h"
 
 #include "gnu-nat.h"
-#include "i387-nat.h"
+#include "i387-tdep.h"
 
 #ifdef HAVE_SYS_PROCFS_H
 # include <sys/procfs.h>
 
 #ifdef HAVE_SYS_PROCFS_H
 # include <sys/procfs.h>
index 32a3d7803fe1db7b492acd37225dba8533619919..f8934cc24a79ce70bb592d08a4320211936d068b 100644 (file)
@@ -39,7 +39,7 @@ typedef struct fpreg fpregset_t;
 #include "gregset.h"
 
 /* Prototypes for i387_supply_fsave etc.  */
 #include "gregset.h"
 
 /* Prototypes for i387_supply_fsave etc.  */
-#include "i387-nat.h"  
+#include "i387-tdep.h"  
 
 struct md_core
 {
 
 struct md_core
 {
index 33dbde89ac6565bbbcc3832744b50f34b4d5aa61..c67f1fb2f440a4706d44a0e4612f7f88160da2e8 100644 (file)
@@ -27,7 +27,7 @@
 #ifdef HAVE_SYS_REG_H
 #include <sys/reg.h>
 #endif
 #ifdef HAVE_SYS_REG_H
 #include <sys/reg.h>
 #endif
-#include "i387-nat.h"
+#include "i387-tdep.h"
 
 
 #ifdef HAVE_SYS_PROCFS_H
 
 
 #ifdef HAVE_SYS_PROCFS_H
diff --git a/gdb/i387-nat.c b/gdb/i387-nat.c
deleted file mode 100644 (file)
index 7cb42ba..0000000
+++ /dev/null
@@ -1,335 +0,0 @@
-/* Native-dependent code for the i387.
-   Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#include "defs.h"
-#include "inferior.h"
-#include "value.h"
-#include "regcache.h"
-
-#include "i387-nat.h"
-#include "i386-tdep.h"
-
-/* FIXME: kettenis/2000-05-21: Right now more than a few i386 targets
-   define their own routines to manage the floating-point registers in
-   GDB's register array.  Most (if not all) of these targets use the
-   format used by the "fsave" instruction in their communication with
-   the OS.  They should all be converted to use the routines below.  */
-
-/* At fsave_offset[REGNUM] you'll find the offset to the location in
-   the data structure used by the "fsave" instruction where GDB
-   register REGNUM is stored.  */
-
-static int fsave_offset[] =
-{
-  28 + 0 * FPU_REG_RAW_SIZE,   /* FP0_REGNUM through ...  */
-  28 + 1 * FPU_REG_RAW_SIZE,  
-  28 + 2 * FPU_REG_RAW_SIZE,  
-  28 + 3 * FPU_REG_RAW_SIZE,  
-  28 + 4 * FPU_REG_RAW_SIZE,  
-  28 + 5 * FPU_REG_RAW_SIZE,  
-  28 + 6 * FPU_REG_RAW_SIZE,  
-  28 + 7 * FPU_REG_RAW_SIZE,   /* ... FP7_REGNUM.  */
-  0,                           /* FCTRL_REGNUM (16 bits).  */
-  4,                           /* FSTAT_REGNUM (16 bits).  */
-  8,                           /* FTAG_REGNUM (16 bits).  */
-  16,                          /* FISEG_REGNUM (16 bits).  */
-  12,                          /* FIOFF_REGNUM.  */
-  24,                          /* FOSEG_REGNUM.  */
-  20,                          /* FOOFF_REGNUM.  */
-  18                           /* FOP_REGNUM (bottom 11 bits).  */
-};
-
-#define FSAVE_ADDR(fsave, regnum) (fsave + fsave_offset[regnum - FP0_REGNUM])
-\f
-
-/* Fill register REGNUM in GDB's register array with the appropriate
-   value from *FSAVE.  This function masks off any of the reserved
-   bits in *FSAVE.  */
-
-void
-i387_supply_register (int regnum, char *fsave)
-{
-  /* Most of the FPU control registers occupy only 16 bits in
-     the fsave area.  Give those a special treatment.  */
-  if (regnum >= FPC_REGNUM
-      && regnum != FIOFF_REGNUM && regnum != FOOFF_REGNUM)
-    {
-      unsigned char val[4];
-
-      memcpy (val, FSAVE_ADDR (fsave, regnum), 2);
-      val[2] = val[3] = 0;
-      if (regnum == FOP_REGNUM)
-       val[1] &= ((1 << 3) - 1);
-      supply_register (regnum, val);
-    }
-  else
-    supply_register (regnum, FSAVE_ADDR (fsave, regnum));
-}
-
-/* Fill GDB's register array with the floating-point register values
-   in *FSAVE.  This function masks off any of the reserved
-   bits in *FSAVE.  */
-
-void
-i387_supply_fsave (char *fsave)
-{
-  int i;
-
-  for (i = FP0_REGNUM; i < XMM0_REGNUM; i++)
-    i387_supply_register (i, fsave);
-}
-
-/* Fill register REGNUM (if it is a floating-point register) in *FSAVE
-   with the value in GDB's register array.  If REGNUM is -1, do this
-   for all registers.  This function doesn't touch any of the reserved
-   bits in *FSAVE.  */
-
-void
-i387_fill_fsave (char *fsave, int regnum)
-{
-  int i;
-
-  for (i = FP0_REGNUM; i < XMM0_REGNUM; i++)
-    if (regnum == -1 || regnum == i)
-      {
-       /* Most of the FPU control registers occupy only 16 bits in
-           the fsave area.  Give those a special treatment.  */
-       if (i >= FPC_REGNUM
-           && i != FIOFF_REGNUM && i != FOOFF_REGNUM)
-         {
-           unsigned char buf[4];
-
-           regcache_collect (i, buf);
-
-           if (i == FOP_REGNUM)
-             {
-               /* The opcode occupies only 11 bits.  Make sure we
-                   don't touch the other bits.  */
-               buf[1] &= ((1 << 3) - 1);
-               buf[1] |= ((FSAVE_ADDR (fsave, i))[1] & ~((1 << 3) - 1));
-             }
-           memcpy (FSAVE_ADDR (fsave, i), buf, 2);
-         }
-       else
-         regcache_collect (i, FSAVE_ADDR (fsave, i));
-      }
-}
-\f
-
-/* At fxsave_offset[REGNUM] you'll find the offset to the location in
-   the data structure used by the "fxsave" instruction where GDB
-   register REGNUM is stored.  */
-
-static int fxsave_offset[] =
-{
-  32,                          /* FP0_REGNUM through ...  */
-  48,
-  64,
-  80,
-  96,
-  112,
-  128,
-  144,                         /* ... FP7_REGNUM (80 bits each).  */
-  0,                           /* FCTRL_REGNUM (16 bits).  */
-  2,                           /* FSTAT_REGNUM (16 bits).  */
-  4,                           /* FTAG_REGNUM (16 bits).  */
-  12,                          /* FISEG_REGNUM (16 bits).  */
-  8,                           /* FIOFF_REGNUM.  */
-  20,                          /* FOSEG_REGNUM (16 bits).  */
-  16,                          /* FOOFF_REGNUM.  */
-  6,                           /* FOP_REGNUM (bottom 11 bits).  */
-  160,                         /* XMM0_REGNUM through ...  */
-  176,
-  192,
-  208,
-  224,
-  240,
-  256,
-  272,                         /* ... XMM7_REGNUM (128 bits each).  */
-  24,                          /* MXCSR_REGNUM.  */
-};
-
-#define FXSAVE_ADDR(fxsave, regnum) \
-  (fxsave + fxsave_offset[regnum - FP0_REGNUM])
-
-static int i387_tag (unsigned char *raw);
-\f
-
-/* Fill GDB's register array with the floating-point and SSE register
-   values in *FXSAVE.  This function masks off any of the reserved
-   bits in *FXSAVE.  */
-
-void
-i387_supply_fxsave (char *fxsave)
-{
-  int i;
-
-  for (i = FP0_REGNUM; i <= MXCSR_REGNUM; i++)
-    {
-      /* Most of the FPU control registers occupy only 16 bits in
-        the fxsave area.  Give those a special treatment.  */
-      if (i >= FPC_REGNUM && i < XMM0_REGNUM
-         && i != FIOFF_REGNUM && i != FOOFF_REGNUM)
-       {
-         unsigned char val[4];
-
-         memcpy (val, FXSAVE_ADDR (fxsave, i), 2);
-         val[2] = val[3] = 0;
-         if (i == FOP_REGNUM)
-           val[1] &= ((1 << 3) - 1);
-         else if (i== FTAG_REGNUM)
-           {
-             /* The fxsave area contains a simplified version of the
-                 tag word.  We have to look at the actual 80-bit FP
-                 data to recreate the traditional i387 tag word.  */
-
-             unsigned long ftag = 0;
-             int fpreg;
-             int top;
-
-             top = (((FXSAVE_ADDR (fxsave, FSTAT_REGNUM))[1] >> 3) & 0x7);
-
-             for (fpreg = 7; fpreg >= 0; fpreg--)
-               {
-                 int tag;
-
-                 if (val[0] & (1 << fpreg))
-                   {
-                     int regnum = (fpreg + 8 - top) % 8 + FP0_REGNUM;
-                     tag = i387_tag (FXSAVE_ADDR (fxsave, regnum));
-                   }
-                 else
-                   tag = 3;            /* Empty */
-
-                 ftag |= tag << (2 * fpreg);
-               }
-             val[0] = ftag & 0xff;
-             val[1] = (ftag >> 8) & 0xff;
-           }
-         supply_register (i, val);
-       }
-      else
-       supply_register (i, FXSAVE_ADDR (fxsave, i));
-    }
-}
-
-/* Fill register REGNUM (if it is a floating-point or SSE register) in
-   *FXSAVE with the value in GDB's register array.  If REGNUM is -1, do
-   this for all registers.  This function doesn't touch any of the
-   reserved bits in *FXSAVE.  */
-
-void
-i387_fill_fxsave (char *fxsave, int regnum)
-{
-  int i;
-
-  for (i = FP0_REGNUM; i <= MXCSR_REGNUM; i++)
-    if (regnum == -1 || regnum == i)
-      {
-       /* Most of the FPU control registers occupy only 16 bits in
-           the fxsave area.  Give those a special treatment.  */
-       if (i >= FPC_REGNUM && i < XMM0_REGNUM
-           && i != FIOFF_REGNUM && i != FDOFF_REGNUM)
-         {
-           unsigned char buf[4];
-
-           regcache_collect (i, buf);
-
-           if (i == FOP_REGNUM)
-             {
-               /* The opcode occupies only 11 bits.  Make sure we
-                   don't touch the other bits.  */
-               buf[1] &= ((1 << 3) - 1);
-               buf[1] |= ((FXSAVE_ADDR (fxsave, i))[1] & ~((1 << 3) - 1));
-             }
-           else if (i == FTAG_REGNUM)
-             {
-               /* Converting back is much easier.  */
-
-               unsigned short ftag;
-               int fpreg;
-
-               ftag = (buf[1] << 8) | buf[0];
-               buf[0] = 0;
-               buf[1] = 0;
-
-               for (fpreg = 7; fpreg >= 0; fpreg--)
-                 {
-                   int tag = (ftag >> (fpreg * 2)) & 3;
-
-                   if (tag != 3)
-                     buf[0] |= (1 << fpreg);
-                 }
-             }
-           memcpy (FXSAVE_ADDR (fxsave, i), buf, 2);
-         }
-       else
-         regcache_collect (i, FXSAVE_ADDR (fxsave, i));
-      }
-}
-
-/* Recreate the FTW (tag word) valid bits from the 80-bit FP data in
-   *RAW.  */
-
-static int
-i387_tag (unsigned char *raw)
-{
-  int integer;
-  unsigned int exponent;
-  unsigned long fraction[2];
-
-  integer = raw[7] & 0x80;
-  exponent = (((raw[9] & 0x7f) << 8) | raw[8]);
-  fraction[0] = ((raw[3] << 24) | (raw[2] << 16) | (raw[1] << 8) | raw[0]);
-  fraction[1] = (((raw[7] & 0x7f) << 24) | (raw[6] << 16)
-                | (raw[5] << 8) | raw[4]);
-
-  if (exponent == 0x7fff)
-    {
-      /* Special.  */
-      return (2);
-    }
-  else if (exponent == 0x0000)
-    {
-      if (fraction[0] == 0x0000 && fraction[1] == 0x0000 && !integer)
-       {
-         /* Zero.  */
-         return (1);
-       }
-      else
-       {
-         /* Special.  */
-         return (2);
-       }
-    }
-  else
-    {
-      if (integer)
-       {
-         /* Valid.  */
-         return (0);
-       }
-      else
-       {
-         /* Special.  */
-         return (2);
-       }
-    }
-}
index 2a6f77ce42d4429fd03a6084f9685490484ab6ea..000264f8a7525df2a8d57f86479d0de149a4e0e9 100644 (file)
@@ -388,3 +388,311 @@ i387_float_info (void)
   printf_filtered ("Opcode:              %s\n",
                   local_hex_string_custom (fop ? (fop | 0xd800) : 0, "04"));
 }
   printf_filtered ("Opcode:              %s\n",
                   local_hex_string_custom (fop ? (fop | 0xd800) : 0, "04"));
 }
+
+/* FIXME: kettenis/2000-05-21: Right now more than a few i386 targets
+   define their own routines to manage the floating-point registers in
+   GDB's register array.  Most (if not all) of these targets use the
+   format used by the "fsave" instruction in their communication with
+   the OS.  They should all be converted to use the routines below.  */
+
+/* At fsave_offset[REGNUM] you'll find the offset to the location in
+   the data structure used by the "fsave" instruction where GDB
+   register REGNUM is stored.  */
+
+static int fsave_offset[] =
+{
+  28 + 0 * FPU_REG_RAW_SIZE,   /* FP0_REGNUM through ...  */
+  28 + 1 * FPU_REG_RAW_SIZE,  
+  28 + 2 * FPU_REG_RAW_SIZE,  
+  28 + 3 * FPU_REG_RAW_SIZE,  
+  28 + 4 * FPU_REG_RAW_SIZE,  
+  28 + 5 * FPU_REG_RAW_SIZE,  
+  28 + 6 * FPU_REG_RAW_SIZE,  
+  28 + 7 * FPU_REG_RAW_SIZE,   /* ... FP7_REGNUM.  */
+  0,                           /* FCTRL_REGNUM (16 bits).  */
+  4,                           /* FSTAT_REGNUM (16 bits).  */
+  8,                           /* FTAG_REGNUM (16 bits).  */
+  16,                          /* FISEG_REGNUM (16 bits).  */
+  12,                          /* FIOFF_REGNUM.  */
+  24,                          /* FOSEG_REGNUM.  */
+  20,                          /* FOOFF_REGNUM.  */
+  18                           /* FOP_REGNUM (bottom 11 bits).  */
+};
+
+#define FSAVE_ADDR(fsave, regnum) (fsave + fsave_offset[regnum - FP0_REGNUM])
+\f
+
+/* Fill register REGNUM in GDB's register array with the appropriate
+   value from *FSAVE.  This function masks off any of the reserved
+   bits in *FSAVE.  */
+
+void
+i387_supply_register (int regnum, char *fsave)
+{
+  /* Most of the FPU control registers occupy only 16 bits in
+     the fsave area.  Give those a special treatment.  */
+  if (regnum >= FPC_REGNUM
+      && regnum != FIOFF_REGNUM && regnum != FOOFF_REGNUM)
+    {
+      unsigned char val[4];
+
+      memcpy (val, FSAVE_ADDR (fsave, regnum), 2);
+      val[2] = val[3] = 0;
+      if (regnum == FOP_REGNUM)
+       val[1] &= ((1 << 3) - 1);
+      supply_register (regnum, val);
+    }
+  else
+    supply_register (regnum, FSAVE_ADDR (fsave, regnum));
+}
+
+/* Fill GDB's register array with the floating-point register values
+   in *FSAVE.  This function masks off any of the reserved
+   bits in *FSAVE.  */
+
+void
+i387_supply_fsave (char *fsave)
+{
+  int i;
+
+  for (i = FP0_REGNUM; i < XMM0_REGNUM; i++)
+    i387_supply_register (i, fsave);
+}
+
+/* Fill register REGNUM (if it is a floating-point register) in *FSAVE
+   with the value in GDB's register array.  If REGNUM is -1, do this
+   for all registers.  This function doesn't touch any of the reserved
+   bits in *FSAVE.  */
+
+void
+i387_fill_fsave (char *fsave, int regnum)
+{
+  int i;
+
+  for (i = FP0_REGNUM; i < XMM0_REGNUM; i++)
+    if (regnum == -1 || regnum == i)
+      {
+       /* Most of the FPU control registers occupy only 16 bits in
+           the fsave area.  Give those a special treatment.  */
+       if (i >= FPC_REGNUM
+           && i != FIOFF_REGNUM && i != FOOFF_REGNUM)
+         {
+           unsigned char buf[4];
+
+           regcache_collect (i, buf);
+
+           if (i == FOP_REGNUM)
+             {
+               /* The opcode occupies only 11 bits.  Make sure we
+                   don't touch the other bits.  */
+               buf[1] &= ((1 << 3) - 1);
+               buf[1] |= ((FSAVE_ADDR (fsave, i))[1] & ~((1 << 3) - 1));
+             }
+           memcpy (FSAVE_ADDR (fsave, i), buf, 2);
+         }
+       else
+         regcache_collect (i, FSAVE_ADDR (fsave, i));
+      }
+}
+\f
+
+/* At fxsave_offset[REGNUM] you'll find the offset to the location in
+   the data structure used by the "fxsave" instruction where GDB
+   register REGNUM is stored.  */
+
+static int fxsave_offset[] =
+{
+  32,                          /* FP0_REGNUM through ...  */
+  48,
+  64,
+  80,
+  96,
+  112,
+  128,
+  144,                         /* ... FP7_REGNUM (80 bits each).  */
+  0,                           /* FCTRL_REGNUM (16 bits).  */
+  2,                           /* FSTAT_REGNUM (16 bits).  */
+  4,                           /* FTAG_REGNUM (16 bits).  */
+  12,                          /* FISEG_REGNUM (16 bits).  */
+  8,                           /* FIOFF_REGNUM.  */
+  20,                          /* FOSEG_REGNUM (16 bits).  */
+  16,                          /* FOOFF_REGNUM.  */
+  6,                           /* FOP_REGNUM (bottom 11 bits).  */
+  160,                         /* XMM0_REGNUM through ...  */
+  176,
+  192,
+  208,
+  224,
+  240,
+  256,
+  272,                         /* ... XMM7_REGNUM (128 bits each).  */
+  24,                          /* MXCSR_REGNUM.  */
+};
+
+#define FXSAVE_ADDR(fxsave, regnum) \
+  (fxsave + fxsave_offset[regnum - FP0_REGNUM])
+
+static int i387_tag (unsigned char *raw);
+\f
+
+/* Fill GDB's register array with the floating-point and SSE register
+   values in *FXSAVE.  This function masks off any of the reserved
+   bits in *FXSAVE.  */
+
+void
+i387_supply_fxsave (char *fxsave)
+{
+  int i;
+
+  for (i = FP0_REGNUM; i <= MXCSR_REGNUM; i++)
+    {
+      /* Most of the FPU control registers occupy only 16 bits in
+        the fxsave area.  Give those a special treatment.  */
+      if (i >= FPC_REGNUM && i < XMM0_REGNUM
+         && i != FIOFF_REGNUM && i != FOOFF_REGNUM)
+       {
+         unsigned char val[4];
+
+         memcpy (val, FXSAVE_ADDR (fxsave, i), 2);
+         val[2] = val[3] = 0;
+         if (i == FOP_REGNUM)
+           val[1] &= ((1 << 3) - 1);
+         else if (i== FTAG_REGNUM)
+           {
+             /* The fxsave area contains a simplified version of the
+                 tag word.  We have to look at the actual 80-bit FP
+                 data to recreate the traditional i387 tag word.  */
+
+             unsigned long ftag = 0;
+             int fpreg;
+             int top;
+
+             top = (((FXSAVE_ADDR (fxsave, FSTAT_REGNUM))[1] >> 3) & 0x7);
+
+             for (fpreg = 7; fpreg >= 0; fpreg--)
+               {
+                 int tag;
+
+                 if (val[0] & (1 << fpreg))
+                   {
+                     int regnum = (fpreg + 8 - top) % 8 + FP0_REGNUM;
+                     tag = i387_tag (FXSAVE_ADDR (fxsave, regnum));
+                   }
+                 else
+                   tag = 3;            /* Empty */
+
+                 ftag |= tag << (2 * fpreg);
+               }
+             val[0] = ftag & 0xff;
+             val[1] = (ftag >> 8) & 0xff;
+           }
+         supply_register (i, val);
+       }
+      else
+       supply_register (i, FXSAVE_ADDR (fxsave, i));
+    }
+}
+
+/* Fill register REGNUM (if it is a floating-point or SSE register) in
+   *FXSAVE with the value in GDB's register array.  If REGNUM is -1, do
+   this for all registers.  This function doesn't touch any of the
+   reserved bits in *FXSAVE.  */
+
+void
+i387_fill_fxsave (char *fxsave, int regnum)
+{
+  int i;
+
+  for (i = FP0_REGNUM; i <= MXCSR_REGNUM; i++)
+    if (regnum == -1 || regnum == i)
+      {
+       /* Most of the FPU control registers occupy only 16 bits in
+           the fxsave area.  Give those a special treatment.  */
+       if (i >= FPC_REGNUM && i < XMM0_REGNUM
+           && i != FIOFF_REGNUM && i != FDOFF_REGNUM)
+         {
+           unsigned char buf[4];
+
+           regcache_collect (i, buf);
+
+           if (i == FOP_REGNUM)
+             {
+               /* The opcode occupies only 11 bits.  Make sure we
+                   don't touch the other bits.  */
+               buf[1] &= ((1 << 3) - 1);
+               buf[1] |= ((FXSAVE_ADDR (fxsave, i))[1] & ~((1 << 3) - 1));
+             }
+           else if (i == FTAG_REGNUM)
+             {
+               /* Converting back is much easier.  */
+
+               unsigned short ftag;
+               int fpreg;
+
+               ftag = (buf[1] << 8) | buf[0];
+               buf[0] = 0;
+               buf[1] = 0;
+
+               for (fpreg = 7; fpreg >= 0; fpreg--)
+                 {
+                   int tag = (ftag >> (fpreg * 2)) & 3;
+
+                   if (tag != 3)
+                     buf[0] |= (1 << fpreg);
+                 }
+             }
+           memcpy (FXSAVE_ADDR (fxsave, i), buf, 2);
+         }
+       else
+         regcache_collect (i, FXSAVE_ADDR (fxsave, i));
+      }
+}
+
+/* Recreate the FTW (tag word) valid bits from the 80-bit FP data in
+   *RAW.  */
+
+static int
+i387_tag (unsigned char *raw)
+{
+  int integer;
+  unsigned int exponent;
+  unsigned long fraction[2];
+
+  integer = raw[7] & 0x80;
+  exponent = (((raw[9] & 0x7f) << 8) | raw[8]);
+  fraction[0] = ((raw[3] << 24) | (raw[2] << 16) | (raw[1] << 8) | raw[0]);
+  fraction[1] = (((raw[7] & 0x7f) << 24) | (raw[6] << 16)
+                | (raw[5] << 8) | raw[4]);
+
+  if (exponent == 0x7fff)
+    {
+      /* Special.  */
+      return (2);
+    }
+  else if (exponent == 0x0000)
+    {
+      if (fraction[0] == 0x0000 && fraction[1] == 0x0000 && !integer)
+       {
+         /* Zero.  */
+         return (1);
+       }
+      else
+       {
+         /* Special.  */
+         return (2);
+       }
+    }
+  else
+    {
+      if (integer)
+       {
+         /* Valid.  */
+         return (0);
+       }
+      else
+       {
+         /* Special.  */
+         return (2);
+       }
+    }
+}
similarity index 95%
rename from gdb/i387-nat.h
rename to gdb/i387-tdep.h
index 1637e9b8ec4125251023162838f8a6bbfb39dd4e..5bfd06eb7102cdbd97c8074ee817b5ee21a70124 100644 (file)
@@ -1,4 +1,4 @@
-/* Native-dependent code for the i387.
+/* Target-dependent code for the i387.
    Copyright 2000, 2001 Free Software Foundation, Inc.
 
    This file is part of GDB.
    Copyright 2000, 2001 Free Software Foundation, Inc.
 
    This file is part of GDB.
@@ -18,8 +18,8 @@
    Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
    Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
-#ifndef I387_NAT_H
-#define I387_NAT_H
+#ifndef I387_TDEP_H
+#define I387_TDEP_H
 
 /* Fill register REGNUM in GDB's register array with the appropriate
    value from *FSAVE.  This function masks off any of the reserved
 
 /* Fill register REGNUM in GDB's register array with the appropriate
    value from *FSAVE.  This function masks off any of the reserved
@@ -53,4 +53,4 @@ extern void i387_supply_fxsave (char *fxsave);
 
 extern void i387_fill_fxsave (char *fxsave, int regnum);
 
 
 extern void i387_fill_fxsave (char *fxsave, int regnum);
 
-#endif /* i387-nat.h */
+#endif /* i387-tdep.h */
index 329532712d8aeb0b4be4f0f7683b2ba953aaa603..f57a5f276757fe4e6e78867f3dd22de3c635a896 100644 (file)
@@ -25,7 +25,7 @@
 #include "inferior.h"
 #include "gdbcore.h"
 #include "regcache.h"
 #include "inferior.h"
 #include "gdbcore.h"
 #include "regcache.h"
-#include "i387-nat.h"
+#include "i387-tdep.h"
 #include "gdb_assert.h"
 #include "x86-64-tdep.h"
 
 #include "gdb_assert.h"
 #include "x86-64-tdep.h"