old-cross-binutils/gdb/config/mips/xm-mips.h
1993-07-28 23:33:57 +00:00

74 lines
2.4 KiB
C

/* Definitions to make GDB run on a mips box under 4.3bsd.
Copyright (C) 1986, 1987, 1989 Free Software Foundation, Inc.
Contributed by Per Bothner(bothner@cs.wisc.edu) at U.Wisconsin
and by Alessandro Forin(af@cs.cmu.edu) at CMU
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. */
#if !defined (HOST_BYTE_ORDER)
#define HOST_BYTE_ORDER LITTLE_ENDIAN
#endif
/* Get rid of any system-imposed stack limit if possible */
#define SET_STACK_LIMIT_HUGE
#ifdef ultrix
/* Needed for DECstation core files. */
#include <machine/param.h>
#define KERNEL_U_ADDR UADDR
#endif
#ifdef ultrix
extern char *strdup();
#endif
/* DECstation memcpy and memset return void *, not char *. */
extern void *memcpy();
extern void *memset();
#define MEM_FNS_DECLARED
#if ! defined (__STDC__) && ! defined (offsetof)
# define offsetof(TYPE, MEMBER) ((unsigned long) &((TYPE *)0)->MEMBER)
#endif
/* Only used for core files on DECstations.
First four registers at u.u_ar0 are saved arguments, and
there is no r0 saved. Float registers are saved
in u_pcb.pcb_fpregs, not relative to u.u_ar0. */
#define REGISTER_U_ADDR(addr, blockend, regno) \
{ \
if (regno < FP0_REGNUM) \
addr = blockend + sizeof(int) * (4 + regno - 1); \
else \
addr = offsetof (struct user, u_pcb.pcb_fpregs[0]) + \
sizeof (int) * (regno - FP0_REGNUM); \
}
/* Kernel is a bit tenacious about sharing text segments, disallowing bpts. */
#define ONE_PROCESS_WRITETEXT
/* HAVE_SGTTY also works, except for the lack of usleep (which it would be
possible to work around by writing our own using setitimer directly).
But we have termios, at least as of Ultrix 4.2A, so use it. */
#define HAVE_TERMIOS
/* Mips hosts need aligned va_list arguments. */
#include "mips/xm-makeva.h"