aboutsummaryrefslogtreecommitdiff
path: root/gdb/config/mips
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1993-12-06 17:12:23 +0000
committerIan Lance Taylor <ian@airs.com>1993-12-06 17:12:23 +0000
commita2f1e2e5f8bf65d1751d90540a0667696e00a8fc (patch)
tree477acbbf23be79338744cd9de7529285a3994c37 /gdb/config/mips
parenteb91665b4cae0e1824a25da81788bf486d109077 (diff)
downloadgdb-a2f1e2e5f8bf65d1751d90540a0667696e00a8fc.zip
gdb-a2f1e2e5f8bf65d1751d90540a0667696e00a8fc.tar.gz
gdb-a2f1e2e5f8bf65d1751d90540a0667696e00a8fc.tar.bz2
New files for Irix 5 support.
Diffstat (limited to 'gdb/config/mips')
-rw-r--r--gdb/config/mips/.Sanitize5
-rw-r--r--gdb/config/mips/irix5.mh8
-rw-r--r--gdb/config/mips/irix5.mt3
-rw-r--r--gdb/config/mips/tm-irix5.h42
-rw-r--r--gdb/config/mips/xm-irix5.h34
5 files changed, 92 insertions, 0 deletions
diff --git a/gdb/config/mips/.Sanitize b/gdb/config/mips/.Sanitize
index 541def5..01db164 100644
--- a/gdb/config/mips/.Sanitize
+++ b/gdb/config/mips/.Sanitize
@@ -29,6 +29,8 @@ idtl.mt
irix3.mh
irix3.mt
irix4.mh
+irix5.mh
+irix5.mt
littlemips.mh
littlemips.mt
mipsm3.mh
@@ -36,16 +38,19 @@ mipsm3.mt
news-mips.mh
nm-irix3.h
nm-irix4.h
+nm-irix5.h
nm-mips.h
nm-news-mips.h
nm-riscos.h
riscos.mh
tm-bigmips.h
tm-irix3.h
+tm-irix5.h
tm-mips.h
tm-mipsm3.h
xm-irix3.h
xm-irix4.h
+xm-irix5.h
xm-makeva.h
xm-mips.h
xm-mipsm3.h
diff --git a/gdb/config/mips/irix5.mh b/gdb/config/mips/irix5.mh
new file mode 100644
index 0000000..2a4793e
--- /dev/null
+++ b/gdb/config/mips/irix5.mh
@@ -0,0 +1,8 @@
+# Host: SGI Iris running irix 5.x
+XDEPFILES= ser-tcp.o
+XM_FILE= xm-irix5.h
+NAT_FILE= nm-irix5.h
+NATDEPFILES= fork-child.o procfs.o irix5-nat.o corelow.o
+MUNCH_DEFINE=-B
+XM_CLIBS=-lbsd -lsun
+INSTALL = cp
diff --git a/gdb/config/mips/irix5.mt b/gdb/config/mips/irix5.mt
new file mode 100644
index 0000000..469b5d8
--- /dev/null
+++ b/gdb/config/mips/irix5.mt
@@ -0,0 +1,3 @@
+# Target: SGI mips running Irix 5
+TDEPFILES= mips-pinsn.o mips-tdep.o exec.o
+TM_FILE= tm-irix5.h
diff --git a/gdb/config/mips/tm-irix5.h b/gdb/config/mips/tm-irix5.h
new file mode 100644
index 0000000..12aa753
--- /dev/null
+++ b/gdb/config/mips/tm-irix5.h
@@ -0,0 +1,42 @@
+/* Target machine description for SGI Iris under Irix 5, for GDB.
+ Copyright 1990, 1991, 1992, 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 "mips/tm-irix3.h"
+
+/* A function call in Irix 5 will sometimes skip the three initial
+ instructions which set the GP. */
+#define AT_FUNCTION_START(pc,func_name,func_addr) ((pc) == (func_addr) + 12)
+
+/* When calling functions on Irix 5 (or any MIPS SVR4 ABI compliant
+ platform) $25 must hold the function address. Dest_Reg is a macro
+ used in CALL_DUMMY in tm-mips.h. */
+#undef Dest_Reg
+#define Dest_Reg 25
+
+/* Irix 5 saves a full 64 bits for each register. We skip 2 * 4 to
+ get to the saved PC (the register mask and status register are both
+ 32 bits) and then another 4 to get to the lower 32 bits. We skip
+ the same 4 bytes, plus the 8 bytes for the PC to get to the
+ registers, and add another 4 to get to the lower 32 bits. We skip
+ 8 bytes per register. */
+#undef SIGFRAME_PC_OFF
+#define SIGFRAME_PC_OFF (SIGFRAME_BASE + 2 * 4 + 4)
+#undef SIGFRAME_REGSAVE_OFF
+#define SIGFRAME_REGSAVE_OFF (SIGFRAME_BASE + 2 * 4 + 8 + 4)
+#define SIGFRAME_REG_SIZE 8
diff --git a/gdb/config/mips/xm-irix5.h b/gdb/config/mips/xm-irix5.h
new file mode 100644
index 0000000..c803bf6
--- /dev/null
+++ b/gdb/config/mips/xm-irix5.h
@@ -0,0 +1,34 @@
+/* Definitions for irix5 hosting support.
+
+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. */
+
+#include "xm-sysv4.h"
+
+#define HOST_BYTE_ORDER BIG_ENDIAN
+
+/* Override register locations in upage for SGI machines */
+#undef REGISTER_U_ADDR
+#define REGISTER_U_ADDR(addr, blockend, regno) \
+ if (regno < PC_REGNUM) \
+ addr = regno; \
+ else \
+ addr = regno + NSIG_HNDLRS; /* Skip over signal handlers */
+
+/* Mips hosts need aligned va_list arguments. */
+#include "mips/xm-makeva.h"