aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackie Smith Cashion <jsmith@redhat.com>1995-09-01 15:33:14 +0000
committerJackie Smith Cashion <jsmith@redhat.com>1995-09-01 15:33:14 +0000
commit180fd370b16504faa5de1995e89494b75218acb6 (patch)
tree85c301c6f29817262b2f6b7debef5310459204a4
parent8343d9d80694678c0274a27f5baaddbe76ccf997 (diff)
downloadgdb-180fd370b16504faa5de1995e89494b75218acb6.zip
gdb-180fd370b16504faa5de1995e89494b75218acb6.tar.gz
gdb-180fd370b16504faa5de1995e89494b75218acb6.tar.bz2
Ideally the "remote-mips.c" prompt spotting code should be updated to
spot different prompts at run-time, so as to avoid having target specific versions of gdb. This is a pending TODO. Fri Sep 1 08:25:50 1995 James G. Smith <jsmith@beauty.cygnus.com> * configure (mips64*vr4300*-*-elf): Support added. * remote-mips.c (mips_readchar): Change to allow build-time prompt string. * config/mips/tm-mips.h: Added TARGET_MONITOR_PROMPT. * config/mips/{vr4300.mt, vr4300el.mt, tm-vr4300.h, tm-vr4300el.h}: Added.
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/config/mips/.Sanitize3
-rw-r--r--gdb/config/mips/tm-mips.h6
-rw-r--r--gdb/config/mips/tm-vr4300.h25
-rw-r--r--gdb/config/mips/tm-vr4300el.h25
-rw-r--r--gdb/config/mips/vr4300.mt3
-rw-r--r--gdb/config/mips/vr4300el.mt3
-rwxr-xr-xgdb/configure4
-rw-r--r--gdb/remote-mips.c12
9 files changed, 87 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5ba6254..b48c6a2 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,12 @@
+Fri Sep 1 08:25:50 1995 James G. Smith <jsmith@beauty.cygnus.com>
+
+ * configure (mips64*vr4300*-*-elf): Support added.
+ * remote-mips.c (mips_readchar): Change to allow build-time prompt
+ string.
+ * config/mips/tm-mips.h: Added TARGET_MONITOR_PROMPT.
+ * config/mips/{vr4300.mt, vr4300el.mt, tm-vr4300.h,
+ tm-vr4300el.h}: Added.
+
Thu Aug 31 12:48:04 1995 Jim Wilson <wilson@chestnut.cygnus.com>
* config/sh/sh.mt (SIM): Add -lm.
diff --git a/gdb/config/mips/.Sanitize b/gdb/config/mips/.Sanitize
index 111e422..63cc74b 100644
--- a/gdb/config/mips/.Sanitize
+++ b/gdb/config/mips/.Sanitize
@@ -65,6 +65,9 @@ tm-mips.h
tm-mips64.h
tm-mipsm3.h
tm-mipsv4.h
+tm-vr4300.h
+tm-vr4300el.h
+vr4300.mt
xm-irix3.h
xm-irix4.h
xm-irix5.h
diff --git a/gdb/config/mips/tm-mips.h b/gdb/config/mips/tm-mips.h
index 4f2256f..200cc88 100644
--- a/gdb/config/mips/tm-mips.h
+++ b/gdb/config/mips/tm-mips.h
@@ -32,6 +32,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define GDB_TARGET_IS_MIPS64 0
#endif
+/* CYGNUS LOCAL jsmith */
+#if !defined (TARGET_MONITOR_PROMPT)
+#define TARGET_MONITOR_PROMPT { '<', 'I', 'D', 'T', '>' }
+#endif
+/* END CYGNUS LOCAL */
+
/* Floating point is IEEE compliant */
#define IEEE_FLOAT
diff --git a/gdb/config/mips/tm-vr4300.h b/gdb/config/mips/tm-vr4300.h
new file mode 100644
index 0000000..60cffbf
--- /dev/null
+++ b/gdb/config/mips/tm-vr4300.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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+#define TARGET_BYTE_ORDER_SELECTABLE
+#define TARGET_MONITOR_PROMPT { '<', 'R', 'I', 'S', 'Q', '>', ' ' }
+
+/* Hack to allow 64bit register reads, from 32bit BFD world */
+#define CC_HAS_LONG_LONG 1
+
+#include "mips/tm-bigmips64.h"
diff --git a/gdb/config/mips/tm-vr4300el.h b/gdb/config/mips/tm-vr4300el.h
new file mode 100644
index 0000000..53a1b58
--- /dev/null
+++ b/gdb/config/mips/tm-vr4300el.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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+#define TARGET_BYTE_ORDER_SELECTABLE
+#define TARGET_MONITOR_PROMPT { '<', 'R', 'I', 'S', 'Q', '>', ' ' }
+
+/* Hack to allow 64bit register reads, from 32bit BFD world */
+#define CC_HAS_LONG_LONG 1
+
+#include "mips/tm-mips64.h"
diff --git a/gdb/config/mips/vr4300.mt b/gdb/config/mips/vr4300.mt
new file mode 100644
index 0000000..b5977e8
--- /dev/null
+++ b/gdb/config/mips/vr4300.mt
@@ -0,0 +1,3 @@
+# Target: Big-endian SIM monitor board.
+TDEPFILES= mips-tdep.o remote-mips.o
+TM_FILE= tm-vr4300.h
diff --git a/gdb/config/mips/vr4300el.mt b/gdb/config/mips/vr4300el.mt
new file mode 100644
index 0000000..9ba2a24
--- /dev/null
+++ b/gdb/config/mips/vr4300el.mt
@@ -0,0 +1,3 @@
+# Target: Little-endian SIM monitor board.
+TDEPFILES= mips-tdep.o remote-mips.o
+TM_FILE= tm-vr4300el.h
diff --git a/gdb/configure b/gdb/configure
index c8721d3..528ee64 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -2105,6 +2105,10 @@ mips*-dec-mach3*) gdb_target=mach3 ;;
mips*-dec-*) gdb_target=decstation ;;
mips64*el-*-ecoff*) gdb_target=idtl64 ;;
mips64*-idt-ecoff*) gdb_target=idt64 ;;
+# CYGNUS LOCAL jsmith
+mips64*vr4300*el-*-elf*) gdb_target=vr4300el ;;
+mips64*vr4300*-*-elf*) gdb_target=vr4300 ;;
+# END CYGNUS LOCAL
mips64*el-*-elf*) gdb_target=idtl64 ;;
mips64*-*-elf*) gdb_target=idt64 ;;
mips*el-*-ecoff*) gdb_target=idtl ;;
diff --git a/gdb/remote-mips.c b/gdb/remote-mips.c
index 9129498..bfbfc53 100644
--- a/gdb/remote-mips.c
+++ b/gdb/remote-mips.c
@@ -327,13 +327,19 @@ mips_error (va_alist)
convenient for DejaGnu when you only have one connected serial
port. */
+/* CYGNUS LOCAL jsmith */
+/* The old code assumed a 5 character identification string, making it
+ a chore to change the string value. However, we need to ensure
+ that the method of ascertaining the length of the string is
+ completely portable, without resorting to calling strlen(). */
+
static int
mips_readchar (timeout)
int timeout;
{
int ch;
static int state = 0;
- static char nextstate[5] = { '<', 'I', 'D', 'T', '>' };
+ static char nextstate[] = TARGET_MONITOR_PROMPT; /* CYGNUS LOCAL jsmith */
#ifdef MAINTENANCE_CMDS
int i;
@@ -342,7 +348,7 @@ mips_readchar (timeout)
i = watchdog;
#endif
- if (state == 5)
+ if (state == (sizeof(nextstate) / sizeof(char))) /* CYGNUS LOCAL jsmith */
timeout = 1;
ch = SERIAL_READCHAR (mips_desc, timeout);
#ifdef MAINTENANCE_CMDS
@@ -372,7 +378,7 @@ mips_readchar (timeout)
(which is not echoed) is always an @ unless the packet is more
than 64 characters long, which ours never are. */
if ((ch == SERIAL_TIMEOUT || ch == '@')
- && state == 5
+ && state == (sizeof(nextstate) / sizeof(char)) /* CYGNUS LOCAL jsmith */
&& ! mips_initializing)
{
if (sr_get_debug () > 0)