# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009, 2010 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 3 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.

# Load the tool-specific configuration for this board, as well as the
# generic configuration. This will define any routines needed by the
# tool to communicate with the board.
load_generic_config "i386-bozo"

# Use no multilib options by default.
process_multilib_options ""

# Default to COFF.
set add_flags ""
if { [board_info $board obj_format] == "a.out" } {
    set_board_info support_libs "${prefix_dir}/i386-aout/"
    set_board_info gdb_load_offset "0x41000000"
    set_board_info gdb_sect_offset "0x41000000"
    set add_flags "-N "
} elseif { [board_info $board obj_format] == "elf" } {
    set_board_info support_libs "${prefix_dir}/i386-elf/"
} else {
    set_board_info support_libs "${prefix_dir}/i386-coff/"
}

# The default compiler for this target.
set_board_info compiler "[find_gcc]"

# We only support newlib on this target. We assume that all multilib
# options have been specified before we get here.
set_board_info cflags "[newlib_include_flags]"
set_board_info ldflags "${add_flags}[newlib_link_flags] -B[board_info $board support_libs]"
# Whee, magic linker scripts hidden away.
set_board_info ldscript "-Tbozo.ld"

# The GDB protocol used with this board.
set_board_info gdb_protocol "remote"
# It's running a GDB stub in ROM.
set_board_info use_gdb_stub 1

# There's no support for argument-passing.
set_board_info noargs 1
# Can't do input.
set_board_info gdb,noinferiorio 1
# Nor does it have real signals.
set_board_info gdb,nosignals 1

# Limit the stack size.
set_board_info gcc,stack_size 16384

# Status wrapper will work, although exit statuses are reliable.
set_board_info needs_status_wrapper 1

# This is the start symbol in crt0.o.
set_board_info gdb,start_symbol "_start"
