# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software
# Foundation, Inc.
#
# This file is part of DejaGnu.
#
# DejaGnu 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.
#
# DejaGnu 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 DejaGnu; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

# And we use the jmr3904 linker script.
set_board_info ldscript "-Tjmr3904app.ld"

# Pass --board=jmr3904 to the standalone simulator
set_board_info sim,options "--board=jmr3904"
set_board_info gdb,target_sim_options "--board=jmr3904"

# Pass -G 0 when testing libjava
set_board_info libjava,options "-G 0"

set_board_info gcc,stack_size "8192"

# Otherwise we're the same as the standard MIPS simulator.
load_base_board_description "mips-sim"
