# 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";
