* config/i386/nm-gnu.h: Removed.
authorMark Kettenis <kettenis@gnu.org>
Thu, 15 Aug 2002 22:24:01 +0000 (22:24 +0000)
committerMark Kettenis <kettenis@gnu.org>
Thu, 15 Aug 2002 22:24:01 +0000 (22:24 +0000)
* config/i386/nm-i386gnu.h: New file.
(THREAD_STATE_FLAVOR, THREAD_STATE_SIZE,
THREAD_STATE_SET_TRACED, THREAD_STATE_CLEAR_STATE, ATTACH_DETACH):
Moved here from ...
* config/i386/tm-i386gnu.h: ... here.  Removed.
* config/i386/xm-i386gnu.h: Removed.
* config/i386/i386gnu.mh (XM_FILE): Set to xm-i386.h.
(NAT_FILE): Set to nm-i386gnu.h.
* config/i386/i386gnu.mt (TDEPFILES): Add i386gnu-tdep.o.
* i386-tdep.c: New file.
* Makefile.in (ALLDEPFILES): Add i386gnu-nat.c and i386gnu-tdep.c.
(i386gnu-tdep.o): Specify dependencies.

gdb/ChangeLog
gdb/Makefile.in
gdb/config/i386/i386gnu.mh
gdb/config/i386/i386gnu.mt
gdb/config/i386/nm-gnu.h [deleted file]
gdb/config/i386/nm-i386gnu.h [new file with mode: 0644]
gdb/config/i386/tm-i386gnu.h [deleted file]
gdb/config/i386/xm-i386gnu.h [deleted file]
gdb/i386gnu-tdep.c [new file with mode: 0644]

index 631fe209a326a8fd531450ea9d2d2c0341d16e45..7d2abc11b7af14524576878cce4c5de1442e7845 100644 (file)
@@ -1,3 +1,19 @@
+2002-08-16  Mark Kettenis  <kettenis@gnu.org>
+
+       * config/i386/nm-gnu.h: Removed.
+       * config/i386/nm-i386gnu.h: New file.
+       (THREAD_STATE_FLAVOR, THREAD_STATE_SIZE,
+       THREAD_STATE_SET_TRACED, THREAD_STATE_CLEAR_STATE, ATTACH_DETACH):
+       Moved here from ...
+       * config/i386/tm-i386gnu.h: ... here.  Removed.
+       * config/i386/xm-i386gnu.h: Removed.
+       * config/i386/i386gnu.mh (XM_FILE): Set to xm-i386.h.
+       (NAT_FILE): Set to nm-i386gnu.h.
+       * config/i386/i386gnu.mt (TDEPFILES): Add i386gnu-tdep.o.
+       * i386-tdep.c: New file.
+       * Makefile.in (ALLDEPFILES): Add i386gnu-nat.c and i386gnu-tdep.c.
+       (i386gnu-tdep.o): Specify dependencies.
+
 2002-08-15  Mark Kettenis  <kettenis@gnu.org>
 
        * config/i386/tm-i386sco5.h: Include "i386/tm-i386v4.h" instead of
index f15aa265903a61b596e491fcb0a2314fe58e73aa..6a221eea69d3fd6e134d96ccfe970157c8c73799 100644 (file)
@@ -1225,6 +1225,7 @@ ALLDEPFILES = a68v-nat.c \
        i386bsd-nat.c i386bsd-tdep.c i386fbsd-nat.c \
        i387-tdep.c \
        i386-linux-tdep.c i386-nat.c \
+       i386gnu-nat.c i386gnu-tdep.c \
        i960-tdep.c \
        ia64-linux-nat.c ia64-linux-tdep.c ia64-tdep.c \
        infptrace.c inftarg.c irix4-nat.c irix5-nat.c \
@@ -1659,6 +1660,8 @@ hppab-nat.o: hppab-nat.c $(bfd_h) $(defs_h) $(inferior_h) $(target_h) \
 hppah-nat.o: hppah-nat.c $(bfd_h) $(defs_h) $(inferior_h) $(target_h) \
        $(regcache_h)
 
+i386gnu-tdep.o: $(defs_h) $(i386_tdep_h)
+
 i386gnu-nat.o: gnu-nat.h
 
 i386-tdep.o: i386-tdep.c $(defs_h) $(gdb_string_h) $(frame_h)  \
index da444a587b6517706ae68c1b3210fe8b543f5d7f..c2eb7af96ea1f2c002d59b6345596a8dadb73a14 100644 (file)
@@ -4,8 +4,8 @@ NATDEPFILES= i386gnu-nat.o gnu-nat.o corelow.o core-regset.o \
             notify_S.o process_reply_S.o msg_reply_S.o \
             msg_U.o exc_request_U.o exc_request_S.o
 
-XM_FILE= xm-i386gnu.h
-NAT_FILE= nm-gnu.h
+XM_FILE= xm-i386.h
+NAT_FILE= nm-i386gnu.h
 MH_CFLAGS = -D_GNU_SOURCE
 
 XM_CLIBS = -lshouldbeinlibc
index e08e2a25f91ea60fe49c9e7bf3b97aed1524c48f..dc3edd2dbb282ee52758f5c65a27a580353e4cba 100644 (file)
@@ -1,3 +1,3 @@
-# Target: Intel 386/elf/GNU Hurd
-TDEPFILES= i386-tdep.o i387-tdep.o
-TM_FILE= tm-i386gnu.h
+# Target: Intel 386 running the GNU Hurd
+TDEPFILES= i386-tdep.o i387-tdep.o i386gnu-tdep.o
+TM_FILE= tm-i386v4.h
diff --git a/gdb/config/i386/nm-gnu.h b/gdb/config/i386/nm-gnu.h
deleted file mode 100644 (file)
index e721ce6..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Native-dependent definitions for Intel 386 running the GNU Hurd
-   Copyright 1994, 1995, 1996 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 the generic hurd definitions.  */
-
-#include "config/nm-gnu.h"
diff --git a/gdb/config/i386/nm-i386gnu.h b/gdb/config/i386/nm-i386gnu.h
new file mode 100644 (file)
index 0000000..4fef763
--- /dev/null
@@ -0,0 +1,38 @@
+/* Native-dependent definitions for Intel 386 running the GNU Hurd
+   Copyright 1994, 1995, 1996, 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.  */
+
+#ifndef NM_I386GNU_H
+#define NM_I386GNU_H
+
+/* Include common definitions for GNU systems.  */
+#include "config/nm-gnu.h"
+
+/* Thread flavors used in re-setting the T bit.  */
+#define THREAD_STATE_FLAVOR            i386_REGS_SEGS_STATE
+#define THREAD_STATE_SIZE              i386_THREAD_STATE_COUNT
+#define THREAD_STATE_SET_TRACED(state) \
+       ((struct i386_thread_state *) (state))->efl |= 0x100
+#define THREAD_STATE_CLEAR_TRACED(state) \
+       ((((struct i386_thread_state *) (state))->efl &= ~0x100), 1)
+
+/* We can attach and detach.  */
+#define ATTACH_DETACH 1
+
+#endif /* nm-i386gnu.h */
diff --git a/gdb/config/i386/tm-i386gnu.h b/gdb/config/i386/tm-i386gnu.h
deleted file mode 100644 (file)
index 638cb03..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Macro definitions for i386 running the GNU Hurd.
-   Copyright 1992, 1999, 2000 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.  */
-
-#ifndef TM_I386GNU_H
-#define TM_I386GNU_H 1
-
-/* Include common definitions for GNU systems.
-   FIXME: This does not belong here since this is supposed to contain
-   only native-dependent information.  */
-#include "config/nm-gnu.h"
-
-/* Thread flavors used in re-setting the T bit.
-   FIXME: This is native-dependent.  */
-#define THREAD_STATE_FLAVOR            i386_REGS_SEGS_STATE
-#define THREAD_STATE_SIZE              i386_THREAD_STATE_COUNT
-#define THREAD_STATE_SET_TRACED(state) \
-       ((struct i386_thread_state *)state)->efl |= 0x100
-#define THREAD_STATE_CLEAR_TRACED(state) \
-       ((((struct i386_thread_state *)state)->efl &= ~0x100), 1)
-
-/* We can attach and detach.
-   FIXME: This is probably native-dependent too.  */
-#define ATTACH_DETACH 1
-
-#include "i386/tm-i386.h"
-
-/* We use stabs-in-ELF with the DWARF register numbering scheme.  */
-
-#undef STAB_REG_TO_REGNUM
-#define STAB_REG_TO_REGNUM(reg) i386_dwarf_reg_to_regnum ((reg))
-
-/* Offset to saved PC in sigcontext.  */
-#define SIGCONTEXT_PC_OFFSET 68
-
-/* We need this file for the SOLIB_TRAMPOLINE stuff.  */
-#include "config/tm-sysv4.h"
-
-#endif /* TM_I386GNU_H */
diff --git a/gdb/config/i386/xm-i386gnu.h b/gdb/config/i386/xm-i386gnu.h
deleted file mode 100644 (file)
index 711aeeb..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Definitions to make GDB run on the GNU Hurd on an Intel 386
-   Copyright 1986, 1987, 1989, 1991, 1996, 2000
-   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.  */
-
-#define HOST_LONG_DOUBLE_FORMAT &floatformat_i387_ext
-
-/* Do implement the attach and detach commands.  */
-#define ATTACH_DETACH  1
diff --git a/gdb/i386gnu-tdep.c b/gdb/i386gnu-tdep.c
new file mode 100644 (file)
index 0000000..fa56428
--- /dev/null
@@ -0,0 +1,43 @@
+/* Target-dependent code for the GNU Hurd.
+   Copyright 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 "i386-tdep.h"
+
+static void
+i386gnu_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  /* GNU uses ELF.  */
+  i386_elf_init_abi (info, gdbarch);
+
+  tdep->jb_pc_offset = 20;     /* From <bits/setjmp.h>.  */
+}
+
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern void _initialize_i386gnu_tdep (void);
+
+void
+_initialize_i386gnu_tdep (void)
+{
+  gdbarch_register_osabi (bfd_arch_i386, GDB_OSABI_HURD, i386gnu_init_abi);
+}