From e0ca2bb9026d2d90ad346c926c752af6d3088be8 Mon Sep 17 00:00:00 2001 From: Mark Kettenis Date: Thu, 15 Aug 2002 22:24:01 +0000 Subject: [PATCH] * 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. --- gdb/ChangeLog | 16 ++++++ gdb/Makefile.in | 3 + gdb/config/i386/i386gnu.mh | 4 +- gdb/config/i386/i386gnu.mt | 6 +- gdb/config/i386/{nm-gnu.h => nm-i386gnu.h} | 19 ++++++- gdb/config/i386/tm-i386gnu.h | 55 ------------------- .../i386/xm-i386gnu.h => i386gnu-tdep.c} | 30 ++++++++-- 7 files changed, 65 insertions(+), 68 deletions(-) rename gdb/config/i386/{nm-gnu.h => nm-i386gnu.h} (58%) delete mode 100644 gdb/config/i386/tm-i386gnu.h rename gdb/{config/i386/xm-i386gnu.h => i386gnu-tdep.c} (54%) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 631fe209a3..7d2abc11b7 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,19 @@ +2002-08-16 Mark Kettenis + + * 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 * config/i386/tm-i386sco5.h: Include "i386/tm-i386v4.h" instead of diff --git a/gdb/Makefile.in b/gdb/Makefile.in index f15aa26590..6a221eea69 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 da444a587b..c2eb7af96e 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 e08e2a25f9..dc3edd2dbb 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 similarity index 58% rename from gdb/config/i386/nm-gnu.h rename to gdb/config/i386/nm-i386gnu.h index e721ce6478..4fef763ca1 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 638cb03f2a..0000000000 --- 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 similarity index 54% rename from gdb/config/i386/xm-i386gnu.h rename to gdb/i386gnu-tdep.c index 711aeebccf..fa56428ec5 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 . */ +} + +/* 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); +} -- 2.34.1