old-cross-binutils/gdb/config/m88k/tm-cxux.h
Stan Shebs 670a8e09e9 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.
1994-07-17 21:08:42 +00:00

56 lines
1.7 KiB
C

/* 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)))