diff options
-rw-r--r-- | gdb/config/mips/nm-riscos.h | 46 | ||||
-rw-r--r-- | gdb/config/mips/riscos.mh | 3 | ||||
-rw-r--r-- | gdb/config/mips/xm-riscos.h | 25 |
3 files changed, 74 insertions, 0 deletions
diff --git a/gdb/config/mips/nm-riscos.h b/gdb/config/mips/nm-riscos.h new file mode 100644 index 00000000000..31e829b18d4 --- /dev/null +++ b/gdb/config/mips/nm-riscos.h @@ -0,0 +1,46 @@ +/* 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. */ + +/* MIPS running RISC/os 4.52C. */ + +#define PCB_OFFSET(FIELD) ((int)&((struct user*)0)->u_pcb.FIELD) + +#define REGISTER_U_ADDR(addr, blockend, regno) \ + if (regno < FP0_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*((regno)+EF_AT-1); \ + else if (regno < PC_REGNUM) \ + addr = PCB_OFFSET(pcb_fpregs[0]) + 4*(regno-FP0_REGNUM); \ + else if (regno == PS_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*EF_SR; \ + else if (regno == BADVADDR_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*EF_BADVADDR; \ + else if (regno == LO_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*EF_MDLO; \ + else if (regno == HI_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*EF_MDHI; \ + else if (regno == CAUSE_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*EF_CAUSE; \ + else if (regno == PC_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*EF_EPC; \ + else if (regno < FCRCS_REGNUM) \ + addr = PCB_OFFSET(pcb_fpregs[0]) + 4*(regno-FP0_REGNUM); \ + else if (regno == FCRCS_REGNUM) \ + addr = PCB_OFFSET(pcb_fpc_csr); \ + else if (regno == FCRIR_REGNUM) \ + addr = PCB_OFFSET(pcb_fpc_eir); \ + else \ + addr = 0; +#endif + +#include "mips/nm-mips.h" diff --git a/gdb/config/mips/riscos.mh b/gdb/config/mips/riscos.mh new file mode 100644 index 00000000000..87873d4f69e --- /dev/null +++ b/gdb/config/mips/riscos.mh @@ -0,0 +1,3 @@ +NATDEPFILES= infptrace.o inftarg.o fork-child.o coredep.o corelow.o mips-nat.o +NM_FILE= nm-riscos.h +XM_FILE= xm-riscos.h diff --git a/gdb/config/mips/xm-riscos.h b/gdb/config/mips/xm-riscos.h new file mode 100644 index 00000000000..45bab301f7a --- /dev/null +++ b/gdb/config/mips/xm-riscos.h @@ -0,0 +1,25 @@ +/* Copyright (C) 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. */ + +#define HAVE_TERMIO + +#if !defined (HOST_BYTE_ORDER) +#define HOST_BYTE_ORDER BIG_ENDIAN +#endif + +#define MEM_FNS_DECLARED |