aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2002-08-15 22:24:01 +0000
committerMark Kettenis <kettenis@gnu.org>2002-08-15 22:24:01 +0000
commite0ca2bb9026d2d90ad346c926c752af6d3088be8 (patch)
treeda8b1fdcb455fe749a5ce2819394da3f1ec0aa58 /gdb
parent6b99ee2e01f3a0489c2fa5c800ff184d9e143f4d (diff)
downloadgdb-e0ca2bb9026d2d90ad346c926c752af6d3088be8.zip
gdb-e0ca2bb9026d2d90ad346c926c752af6d3088be8.tar.gz
gdb-e0ca2bb9026d2d90ad346c926c752af6d3088be8.tar.bz2
* 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.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog16
-rw-r--r--gdb/Makefile.in3
-rw-r--r--gdb/config/i386/i386gnu.mh4
-rw-r--r--gdb/config/i386/i386gnu.mt6
-rw-r--r--gdb/config/i386/nm-i386gnu.h (renamed from gdb/config/i386/nm-gnu.h)19
-rw-r--r--gdb/config/i386/tm-i386gnu.h55
-rw-r--r--gdb/i386gnu-tdep.c (renamed from gdb/config/i386/xm-i386gnu.h)30
7 files changed, 65 insertions, 68 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 631fe20..7d2abc1 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index f15aa26..6a221ee 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -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) \
diff --git a/gdb/config/i386/i386gnu.mh b/gdb/config/i386/i386gnu.mh
index da444a5..c2eb7af 100644
--- a/gdb/config/i386/i386gnu.mh
+++ b/gdb/config/i386/i386gnu.mh
@@ -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
diff --git a/gdb/config/i386/i386gnu.mt b/gdb/config/i386/i386gnu.mt
index e08e2a2..dc3edd2 100644
--- a/gdb/config/i386/i386gnu.mt
+++ b/gdb/config/i386/i386gnu.mt
@@ -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-i386gnu.h
index e721ce6..4fef763 100644
--- a/gdb/config/i386/nm-gnu.h
+++ b/gdb/config/i386/nm-i386gnu.h
@@ -1,5 +1,5 @@
/* Native-dependent definitions for Intel 386 running the GNU Hurd
- Copyright 1994, 1995, 1996 Free Software Foundation, Inc.
+ Copyright 1994, 1995, 1996, 2002 Free Software Foundation, Inc.
This file is part of GDB.
@@ -18,6 +18,21 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* Include the generic hurd definitions. */
+#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
index 638cb03..0000000
--- a/gdb/config/i386/tm-i386gnu.h
+++ /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/i386gnu-tdep.c
index 711aeeb..fa56428 100644
--- a/gdb/config/i386/xm-i386gnu.h
+++ b/gdb/i386gnu-tdep.c
@@ -1,6 +1,5 @@
-/* Definitions to make GDB run on the GNU Hurd on an Intel 386
- Copyright 1986, 1987, 1989, 1991, 1996, 2000
- Free Software Foundation, Inc.
+/* Target-dependent code for the GNU Hurd.
+ Copyright 2002 Free Software Foundation, Inc.
This file is part of GDB.
@@ -19,7 +18,26 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#define HOST_LONG_DOUBLE_FORMAT &floatformat_i387_ext
+#include "defs.h"
-/* Do implement the attach and detach commands. */
-#define ATTACH_DETACH 1
+#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);
+}