* 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-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
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 \
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) \
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
-# 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
+++ /dev/null
-/* 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"
--- /dev/null
+/* 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 */
+++ /dev/null
-/* 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 */
+++ /dev/null
-/* 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
--- /dev/null
+/* 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);
+}