diff options
author | Stan Shebs <shebs@codesourcery.com> | 1994-07-17 21:08:42 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 1994-07-17 21:08:42 +0000 |
commit | 670a8e09e903d87c83d212afefb4b76933014e56 (patch) | |
tree | e62fe7899e71feea5357052d8f8dc2254862665b /gdb/config/m88k | |
parent | 00306b1e9e2e19c5c8f3078f97dfd39a194a1ddc (diff) | |
download | gdb-670a8e09e903d87c83d212afefb4b76933014e56.zip gdb-670a8e09e903d87c83d212afefb4b76933014e56.tar.gz gdb-670a8e09e903d87c83d212afefb4b76933014e56.tar.bz2 |
Harris CX/UX support, from Bob Rusk (rrusk@mail.csd.harris.com).
* configure.in (m88*-harris-cxux*): New configuration.
* cxux-nat.c, config/m88k/cxux.mh, config/m88k/cxux.mt,
config/m88k/xm-cxux.h, config/m88k/tm-cxux.h, config/m88k/nm-cxux.h:
New files.
* config/m88k/tm-m88k.h: Add comment about Harris OS.
(TARGET_WRITE_PC): Pass pid through to register writers.
* configure.in (m68*): Put vendor-only-specified host configs
after vendor-and-os-specified configs.
(m68*-atari-sysv4*, m68*-cbm-sysv4*): Replace with m68*-*-sysv4.
Diffstat (limited to 'gdb/config/m88k')
-rw-r--r-- | gdb/config/m88k/.Sanitize | 13 | ||||
-rw-r--r-- | gdb/config/m88k/cxux.mh | 10 | ||||
-rw-r--r-- | gdb/config/m88k/cxux.mt | 4 | ||||
-rw-r--r-- | gdb/config/m88k/nm-cxux.h | 32 | ||||
-rw-r--r-- | gdb/config/m88k/tm-cxux.h | 56 | ||||
-rw-r--r-- | gdb/config/m88k/tm-m88k.h | 11 | ||||
-rw-r--r-- | gdb/config/m88k/xm-cxux.h | 73 |
7 files changed, 192 insertions, 7 deletions
diff --git a/gdb/config/m88k/.Sanitize b/gdb/config/m88k/.Sanitize index aa6e1b9..6e91bb9 100644 --- a/gdb/config/m88k/.Sanitize +++ b/gdb/config/m88k/.Sanitize @@ -1,4 +1,6 @@ -# Each directory to survive it's way into a release will need a file +# .Sanitize for devo/gdb/config/m88k. + +# Each directory to survive its way into a release will need a file # like this one called "./.Sanitize". All keyword lines must exist, # and must exist in the order specified by this file. Each directory # in the tree will be processed, top down, in the following order. @@ -9,7 +11,7 @@ # The lines between the "Do-first:" line and the "Things-to-keep:" # line are executed as a /bin/sh shell script before anything else is -# done in this +# done in this directory. Do-first: @@ -21,17 +23,22 @@ Do-first: Things-to-keep: +cxux.mh +cxux.mt delta88.mh delta88.mt delta88v4.mt delta88v4.mh m88k.mh m88k.mt -nm-m88k.h +nm-cxux.h nm-delta88v4.h +nm-m88k.h +tm-cxux.h tm-delta88.h tm-delta88v4.h tm-m88k.h +xm-cxux.h xm-delta88.h xm-delta88v4.h xm-dgux.h diff --git a/gdb/config/m88k/cxux.mh b/gdb/config/m88k/cxux.mh new file mode 100644 index 0000000..b5dce18 --- /dev/null +++ b/gdb/config/m88k/cxux.mh @@ -0,0 +1,10 @@ +# Host: Motorola 88k running CX/UX + +XM_FILE= xm-cxux.h +XDEPFILES= + +NAT_FILE= nm-cxux.h +NATDEPFILES= infptrace.o inftarg.o fork-child.o cxux-nat.o corelow.o coredep.o + +MMALLOC= +MMALLOC_DISABLE= -DNO_MMALLOC diff --git a/gdb/config/m88k/cxux.mt b/gdb/config/m88k/cxux.mt new file mode 100644 index 0000000..dfd1892 --- /dev/null +++ b/gdb/config/m88k/cxux.mt @@ -0,0 +1,4 @@ +# Target: Motorola 88k running Harris CX/UX + +TM_FILE= tm-cxux.h +TDEPFILES= exec.o m88k-tdep.o m88k-pinsn.o remote-bug.o diff --git a/gdb/config/m88k/nm-cxux.h b/gdb/config/m88k/nm-cxux.h new file mode 100644 index 0000000..24e1426 --- /dev/null +++ b/gdb/config/m88k/nm-cxux.h @@ -0,0 +1,32 @@ +/* Native definitions for Motorola 88K running Harris CX/UX + Copyright 1993, 1994 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +/* Override the standard fetch/store definitions. */ + +#define FETCH_INFERIOR_REGISTERS + +#define REGISTER_U_ADDR(addr, blockend, regno) \ + (addr) = m88k_register_u_addr ((blockend),(regno)); + +#define ATTACH_DETACH + +#define PTRACE_ATTACH 128 +#define PTRACE_DETACH 129 + + diff --git a/gdb/config/m88k/tm-cxux.h b/gdb/config/m88k/tm-cxux.h new file mode 100644 index 0000000..c489408 --- /dev/null +++ b/gdb/config/m88k/tm-cxux.h @@ -0,0 +1,56 @@ +/* Target definitions for m88k running Harris CX/UX. + Copyright 1993, 1994 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +#define HARRIS_TARGET 1 + +/* Type of X registers, as supplied by the OS */ + +typedef struct { + long w1, w2, w3, w4; +} X_REGISTER_RAW_TYPE; + +#define X_REGISTER_VIRTUAL_TYPE double + +#include "m88k/tm-m88k.h" + +#define ADD_SHARED_SYMBOL_FILES(args,have_tty) add_shared_symbol_files () + +#define CONVERT_REGISTER_ADDRESS + +/* Always allocate space for both, but recognize that the m88100 has no + FP_REGS. */ + +#define ARCH_NUM_REGS (target_is_m88110 ? (GP_REGS + FP_REGS) : (GP_REGS)) + +/* Don't need this grotesquerie. */ + +#undef SHIFT_INST_REGS + +/* Extended registers are treated as 16 bytes by Harris' OS's. + We treat them as 16 bytes here for consistency's sake. */ + +#undef REGISTER_RAW_SIZE +#define REGISTER_RAW_SIZE(N) ((N) < XFP_REGNUM ? 4 : 16) + +#undef REGISTER_BYTE +#define REGISTER_BYTE(N) \ + ((N) >= XFP_REGNUM \ + ? (((GP_REGS) * REGISTER_RAW_SIZE(0)) + \ + (((N) - XFP_REGNUM) * REGISTER_RAW_SIZE(XFP_REGNUM))) \ + : ((N) * REGISTER_RAW_SIZE(0))) diff --git a/gdb/config/m88k/tm-m88k.h b/gdb/config/m88k/tm-m88k.h index 0228907..fbe26a5 100644 --- a/gdb/config/m88k/tm-m88k.h +++ b/gdb/config/m88k/tm-m88k.h @@ -258,6 +258,9 @@ extern CORE_ADDR skip_prologue (); * cr06 is invalid */ +/* Note that the Harris Unix kernels emulate the m88100's behavior on + the m88110. */ + #define SXIP_REGNUM 35 /* On m88100, Contains Shadow Execute Instruction Pointer. */ #define SNIP_REGNUM 36 /* On m88100, Contains Shadow Next @@ -615,8 +618,8 @@ extern void m88k_push_dummy_frame(); -- Kevin Buettner */ -#define TARGET_WRITE_PC(val) { \ - write_register(SXIP_REGNUM, (long) val); \ - write_register(SNIP_REGNUM, (long) val | 2); \ - write_register(SFIP_REGNUM, ((long) val | 2) + 4); \ +#define TARGET_WRITE_PC(val, pid) { \ + write_register_pid(SXIP_REGNUM, (long) val, pid); \ + write_register_pid(SNIP_REGNUM, (long) val | 2, pid); \ + write_register_pid(SFIP_REGNUM, ((long) val | 2) + 4, pid); \ } diff --git a/gdb/config/m88k/xm-cxux.h b/gdb/config/m88k/xm-cxux.h new file mode 100644 index 0000000..8ef7446 --- /dev/null +++ b/gdb/config/m88k/xm-cxux.h @@ -0,0 +1,73 @@ +/* Host-machine dependent parameters for Motorola 88000, for GDB. + Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1993 + 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +#include "m88k/xm-m88k.h" + +#define HOST_BYTE_ORDER BIG_ENDIAN + +#if !defined (USG) +#define USG 1 +#endif + +/* Really native, but as long as only native files check this macro we + are OK. */ +#define NO_PTRACE_H + +#include <sys/param.h> + +#define x_foff _x_x._x_offset +#define x_fname _x_name +#define USER ptrace_user +/* +#define _BSD_WAIT_FLAVOR +*/ + +#define HAVE_TERMIO + +#ifndef USIZE +#define USIZE 2048 +#ifndef UPAGES +#define UPAGES USIZE +#endif +#endif +#define NBPG NBPC + +/* Get rid of any system-imposed stack limit if possible. */ + +#define SET_STACK_LIMIT_HUGE + +/* This is the amount to subtract from u.u_ar0 + to get the offset in the core file of the register values. */ + +/* Since registers r0 through r31 are stored directly in the struct ptrace_user, + (for m88k BCS) + the ptrace_user offsets are sufficient and KERNEL_U_ADDRESS can be 0 */ + +#define KERNEL_U_ADDR 0 + +/* The CX/UX C compiler doesn't permit complex expressions as array bounds. */ +#define STRICT_ANSI_BOUNDS + +/* Enable breakpoint hit count reporting */ +#define BP_HIT_COUNT + +#define CORE_REGISTER_ADDR(regno, reg_ptr) \ + m88k_harris_core_register_addr(regno, reg_ptr) + |