This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [PATCH/RFA] Modernize NetBSD/m68k
From: Jason Thorpe <thorpej@wasabisystems.com>
Date: Mon, 3 May 2004 14:48:49 -0700
On May 1, 2004, at 10:29 AM, Mark Kettenis wrote:
> Do you have any objections if I check this in, and make some further
> imporvements towards properly supporting signal trampolines?
That sounds fine. Thanks for working on this (sigh, I sure wish I had
more [any] time to work on this myself...)
No problem. I'll try to improve NetBSD support when I can...
Anyway, some recent changes I made to the generic m68k waranted a
small change. The attached is what I actually checked in.
Mark
Index: ChangeLog
from Mark Kettenis <kettenis@gnu.org>
* m68knbsd-nat.c: Remove file.
* m68knbsd-tdep.c: Remove file.
* Makefile.in: (m68knbsd-nat.o, m68knbsd-tdep.o): Remove
dependencies.
* configure.host: Add m68k-*-netbsdelf*.
* configure.tgt (m68k-*-netbsd*): Set gdb_target to nbsd.
* config/m68k/nbsdaout.mh (NATDEPFILES): Add m68kbsd-nat.o,
solib.o and solib-sunos.o. Remove m68knbsd-nat.o, corelow.o.
(XM_FILE): Remove.
* config/m68k/nbsdelf.mh: New file.
* config/m68k/nbsd.mt: New file.
* config/m68k/nbsdaout.mt: Remove file.
* config/m68k/tm-nbsd.h: Don't include <sys/param.h>,
<machine/vmparam.h> and "m68k/tm-m68k.h". Include "solib.h".
(BPT_VECTOR, STACK_END_ADDR): Remove defines.
(DEPRECATED_SIGTRAMP_START, DEPRECATED_SIGTRAMP_END): Likewise.
(use_struct_convention): Remove prototype.
(USE_STRUCT_CONVENTION): Remove define.
* config/m68k/xm-nbsd.h: Remove file.
Index: configure.host
===================================================================
RCS file: /cvs/src/src/gdb/configure.host,v
retrieving revision 1.77
diff -u -p -r1.77 configure.host
--- configure.host 30 Apr 2004 23:28:51 -0000 1.77
+++ configure.host 4 May 2004 23:46:29 -0000
@@ -84,6 +84,7 @@ ia64-*-aix*) gdb_host=aix ;;
ia64-*-linux*) gdb_host=linux ;;
m68*-*-linux*) gdb_host=linux ;;
+m68*-*-netbsdelf*) gdb_host=nbsdelf ;;
m68*-*-netbsd*) gdb_host=nbsdaout ;;
m68*-*-openbsd*) gdb_host=obsd ;;
Index: configure.tgt
===================================================================
RCS file: /cvs/src/src/gdb/configure.tgt,v
retrieving revision 1.141
diff -u -p -r1.141 configure.tgt
--- configure.tgt 30 Apr 2004 23:28:51 -0000 1.141
+++ configure.tgt 4 May 2004 23:46:29 -0000
@@ -113,7 +113,7 @@ m68*-*-elf*) gdb_target=monitor ;;
m68*-*-linux*) gdb_target=linux
build_gdbserver=yes
;;
-m68*-*-netbsd*) gdb_target=nbsdaout ;;
+m68*-*-netbsd*) gdb_target=nbsd ;;
m68*-*-openbsd*) gdb_target=obsd ;;
m68*-*-os68k*) gdb_target=os68k ;;
m68*-*-uclinux*) gdb_target=monitor ;;
Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.559
diff -u -p -r1.559 Makefile.in
--- Makefile.in 3 May 2004 22:12:29 -0000 1.559
+++ Makefile.in 4 May 2004 23:46:30 -0000
@@ -2018,9 +2018,6 @@ m68kbsd-nat.o: m68kbsd-nat.c $(defs_h) $
m68kbsd-tdep.o: m68kbsd-tdep.c $(defs_h) $(arch_utils_h) $(osabi_h) \
$(regcache_h) $(regset_h) $(gdb_assert_h) $(gdb_string_h) \
$(m68k_tdep_h) $(solib_svr4_h)
-m68knbsd-nat.o: m68knbsd-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) \
- $(regcache_h)
-m68knbsd-tdep.o: m68knbsd-tdep.c $(defs_h) $(gdbtypes_h) $(regcache_h)
m68k-stub.o: m68k-stub.c
m68k-tdep.o: m68k-tdep.c $(defs_h) $(dwarf2_frame_h) $(frame_h) \
$(frame_base_h) $(frame_unwind_h) $(floatformat_h) $(symtab_h)\
Index: m68knbsd-nat.c
===================================================================
RCS file: m68knbsd-nat.c
diff -N m68knbsd-nat.c
--- m68knbsd-nat.c 21 Apr 2004 17:47:10 -0000 1.11
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,103 +0,0 @@
-/* Native-dependent code for Motorola m68k's running NetBSD, for GDB.
- Copyright 1988, 1989, 1991, 1992, 1994, 1996, 2000, 2001
- 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 <sys/types.h>
-#include <sys/ptrace.h>
-#include <machine/reg.h>
-#include <machine/frame.h>
-#include "inferior.h"
-#include "gdbcore.h"
-#include "regcache.h"
-
-void
-fetch_inferior_registers (int regno)
-{
- struct reg inferior_registers;
- struct fpreg inferior_fp_registers;
-
- ptrace (PT_GETREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) & inferior_registers, 0);
- memcpy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (0)], &inferior_registers,
- sizeof (inferior_registers));
-
- ptrace (PT_GETFPREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) & inferior_fp_registers, 0);
- memcpy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (FP0_REGNUM)], &inferior_fp_registers,
- sizeof (inferior_fp_registers));
-
- deprecated_registers_fetched ();
-}
-
-void
-store_inferior_registers (int regno)
-{
- struct reg inferior_registers;
- struct fpreg inferior_fp_registers;
-
- memcpy (&inferior_registers, &deprecated_registers[DEPRECATED_REGISTER_BYTE (0)],
- sizeof (inferior_registers));
- ptrace (PT_SETREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) & inferior_registers, 0);
-
- memcpy (&inferior_fp_registers, &deprecated_registers[DEPRECATED_REGISTER_BYTE (FP0_REGNUM)],
- sizeof (inferior_fp_registers));
- ptrace (PT_SETFPREGS, PIDGET (inferior_ptid),
- (PTRACE_ARG3_TYPE) & inferior_fp_registers, 0);
-}
-
-struct md_core
-{
- struct reg intreg;
- struct fpreg freg;
-};
-
-static void
-fetch_core_registers (char *core_reg_sect, unsigned core_reg_size, int which,
- CORE_ADDR ignore)
-{
- struct md_core *core_reg = (struct md_core *) core_reg_sect;
-
- /* Integer registers */
- memcpy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (0)],
- &core_reg->intreg, sizeof (struct reg));
- /* Floating point registers */
- memcpy (&deprecated_registers[DEPRECATED_REGISTER_BYTE (FP0_REGNUM)],
- &core_reg->freg, sizeof (struct fpreg));
-}
-
-/* Register that we are able to handle m68knbsd core file formats.
- FIXME: is this really bfd_target_unknown_flavour? */
-
-static struct core_fns m68knbsd_core_fns =
-{
- bfd_target_unknown_flavour, /* core_flavour */
- default_check_format, /* check_format */
- default_core_sniffer, /* core_sniffer */
- fetch_core_registers, /* core_read_registers */
- NULL /* next */
-};
-
-void
-_initialize_m68knbsd_nat (void)
-{
- deprecated_add_core_fns (&m68knbsd_core_fns);
-}
Index: m68knbsd-tdep.c
===================================================================
RCS file: m68knbsd-tdep.c
diff -N m68knbsd-tdep.c
--- m68knbsd-tdep.c 1 Mar 2001 01:39:21 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,33 +0,0 @@
-/* Target-dependent code for NetBSD/i386, for GDB.
- Copyright 1988, 1989, 1991, 1992, 1994, 1996, 2000, 2001
- 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 "gdbtypes.h"
-#include "regcache.h"
-
-int
-m68knbsd_use_struct_convention (int gcc_p, struct type *type)
-{
- return !(TYPE_LENGTH (type) == 1
- || TYPE_LENGTH (type) == 2
- || TYPE_LENGTH (type) == 4
- || TYPE_LENGTH (type) == 8);
-}
Index: config/m68k/nbsd.mt
===================================================================
RCS file: config/m68k/nbsd.mt
diff -N config/m68k/nbsd.mt
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ config/m68k/nbsd.mt 4 May 2004 23:46:30 -0000
@@ -0,0 +1,3 @@
+# Target: NetBSD/m68k
+TDEPFILES= m68k-tdep.o m68kbsd-tdep.o corelow.o solib.o solib-svr4.o
+TM_FILE= tm-nbsd.h
Index: config/m68k/nbsdaout.mh
===================================================================
RCS file: /cvs/src/src/gdb/config/m68k/nbsdaout.mh,v
retrieving revision 1.1
diff -u -p -r1.1 nbsdaout.mh
--- config/m68k/nbsdaout.mh 22 May 2002 03:59:54 -0000 1.1
+++ config/m68k/nbsdaout.mh 4 May 2004 23:46:30 -0000
@@ -1,5 +1,4 @@
-# Host: Motorola m68k running NetBSD
-NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o m68knbsd-nat.o \
+# Host: NetBSD/m68k a.out
+NATDEPFILES= m68kbsd-nat.o fork-child.o infptrace.o inftarg.o \
solib.o solib-sunos.o
-XM_FILE= xm-nbsd.h
NAT_FILE= nm-nbsdaout.h
Index: config/m68k/nbsdaout.mt
===================================================================
RCS file: config/m68k/nbsdaout.mt
diff -N config/m68k/nbsdaout.mt
--- config/m68k/nbsdaout.mt 22 May 2002 03:59:54 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,3 +0,0 @@
-# Target: Motorola m68k running NetBSD
-TDEPFILES= m68k-tdep.o m68knbsd-tdep.o
-TM_FILE= tm-nbsd.h
Index: config/m68k/nbsdelf.mh
===================================================================
RCS file: config/m68k/nbsdelf.mh
diff -N config/m68k/nbsdelf.mh
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ config/m68k/nbsdelf.mh 4 May 2004 23:46:30 -0000
@@ -0,0 +1,3 @@
+# Host: NetBSD/m68k ELF
+NATDEPFILES= m68kbsd-nat.o fork-child.o infptrace.o inftarg.o
+NAT_FILE= nm-nbsd.h
Index: config/m68k/tm-nbsd.h
===================================================================
RCS file: /cvs/src/src/gdb/config/m68k/tm-nbsd.h,v
retrieving revision 1.8
diff -u -p -r1.8 tm-nbsd.h
--- config/m68k/tm-nbsd.h 1 May 2004 13:14:20 -0000 1.8
+++ config/m68k/tm-nbsd.h 4 May 2004 23:46:30 -0000
@@ -1,4 +1,4 @@
-/* Macro definitions for m68k running under NetBSD.
+/* Target-dependent definitions for NetBSD/m68k.
Copyright 1994, 1996, 2001, 2004 Free Software Foundation, Inc.
@@ -22,28 +22,6 @@
#ifndef TM_NBSD_H
#define TM_NBSD_H
-#include <sys/param.h>
-#include <machine/vmparam.h>
+#include "solib.h"
-/* Define BPT_VECTOR if it is different than the default.
- This is the vector number used by traps to indicate a breakpoint. */
-#define BPT_VECTOR 0xf
-
-/* Address of end of stack space. */
-#define STACK_END_ADDR USRSTACK
-
-/* For NetBSD, sigtramp is 32 bytes before STACK_END_ADDR. */
-#define DEPRECATED_IN_SIGTRAMP(PC,FUNC_NAME) \
-((PC) >= (STACK_END_ADDR - 32) && (PC) < (STACK_END_ADDR))
-
-#include "m68k/tm-m68k.h"
-
-/* Return non-zero if we are in a shared library trampoline code stub. */
-#define IN_SOLIB_CALL_TRAMPOLINE(pc, name) \
- (name && !strcmp(name, "_DYNAMIC"))
-
-extern use_struct_convention_fn m68knbsd_use_struct_convention;
-#define USE_STRUCT_CONVENTION(gcc_p, type) \
- m68knbsd_use_struct_convention(gcc_p, type)
-
-#endif /* TM_NBSD_H */
+#endif /* tm-nbsd.h */
Index: config/m68k/xm-nbsd.h
===================================================================
RCS file: config/m68k/xm-nbsd.h
diff -N config/m68k/xm-nbsd.h
--- config/m68k/xm-nbsd.h 5 Jun 2002 19:18:23 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,22 +0,0 @@
-/* Parameters for execution on a Motorola m68k running NetBSD, for GDB.
- Copyright 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. */
-
-/* Get generic NetBSD host definitions. */
-#include "config/xm-nbsd.h"