This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] i386 GNU Hurd cleanup


Long overdue.  Untested, but the target is broken anyway right now.  I
should really get the Hurd up and running on my new machine.

Checked in.

Mark


Index: ChangeLog
from  Mark Kettenis  <kettenis@elgar.kettenis.dyndns.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.

Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.236
diff -u -p -r1.236 Makefile.in
--- Makefile.in 14 Aug 2002 18:13:30 -0000 1.236
+++ Makefile.in 15 Aug 2002 22:17:32 -0000
@@ -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 \
@@ -1658,6 +1659,8 @@ hppab-nat.o: hppab-nat.c $(bfd_h) $(defs
 
 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
 
Index: config/i386/i386gnu.mh
===================================================================
RCS file: /cvs/src/src/gdb/config/i386/i386gnu.mh,v
retrieving revision 1.8
diff -u -p -r1.8 i386gnu.mh
--- config/i386/i386gnu.mh 11 May 2002 17:22:27 -0000 1.8
+++ config/i386/i386gnu.mh 15 Aug 2002 22:17:32 -0000
@@ -4,8 +4,8 @@ NATDEPFILES= i386gnu-nat.o gnu-nat.o cor
 	     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: config/i386/i386gnu.mt
===================================================================
RCS file: /cvs/src/src/gdb/config/i386/i386gnu.mt,v
retrieving revision 1.2
diff -u -p -r1.2 i386gnu.mt
--- config/i386/i386gnu.mt 22 Jul 2001 20:35:14 -0000 1.2
+++ config/i386/i386gnu.mt 15 Aug 2002 22:17:32 -0000
@@ -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
--- /dev/null	Fri Aug 16 00:12:56 2002
+++ config/i386/nm-i386gnu.h	Fri Aug 16 00:00:48 2002
@@ -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 */
--- /dev/null	Fri Aug 16 00:17:57 2002
+++ i386gnu-tdep.c	Thu Aug 15 23:44:25 2002
@@ -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);
+}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]