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.
This commit is contained in:
Jackie Smith Cashion 1995-09-01 15:33:14 +00:00
parent 8343d9d806
commit 180fd370b1
9 changed files with 87 additions and 3 deletions

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -0,0 +1,3 @@
# Target: Big-endian SIM monitor board.
TDEPFILES= mips-tdep.o remote-mips.o
TM_FILE= tm-vr4300.h

View File

@ -0,0 +1,3 @@
# Target: Little-endian SIM monitor board.
TDEPFILES= mips-tdep.o remote-mips.o
TM_FILE= tm-vr4300el.h

4
gdb/configure vendored
View File

@ -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 ;;

View File

@ -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)