diff options
author | Rob Savoye <rob@welcomehome.org> | 2001-02-05 04:14:59 +0000 |
---|---|---|
committer | Rob Savoye <rob@welcomehome.org> | 2001-02-05 04:14:59 +0000 |
commit | 20f1185dd84bcadf4b238d1d2ca18f5ca79157d4 (patch) | |
tree | da300d5097593bc1d61123a8e32179914440e85f /baseboards | |
download | dejagnu-20f1185dd84bcadf4b238d1d2ca18f5ca79157d4.zip dejagnu-20f1185dd84bcadf4b238d1d2ca18f5ca79157d4.tar.gz dejagnu-20f1185dd84bcadf4b238d1d2ca18f5ca79157d4.tar.bz2 |
Initial revision
Diffstat (limited to 'baseboards')
77 files changed, 2635 insertions, 0 deletions
diff --git a/baseboards/README b/baseboards/README new file mode 100644 index 0000000..590bc43 --- /dev/null +++ b/baseboards/README @@ -0,0 +1,15 @@ +The files in this directory are used to describe the basic +configuration of a board. (Note that we use "board" in its loosest +sense, referring to either a target or host). The structure of these +files is very similar, and I would suggest that you follow this when +writing a new one. + +Two files need to be created for a given board; the appropriate file +in this directory, and one in devo/dejagnu/config. The one in here is +used to set up entries in the data array describing the board, while +the one in devo/dejagnu/config is used to describe the actions used to +actually communicate with the board. + +A third file (the site-specific machine file) can be used to describe +any site-specific functionality, such as port numbers, serial devices, +etc. diff --git a/baseboards/a29k-udi.exp b/baseboards/a29k-udi.exp new file mode 100644 index 0000000..3b4c506 --- /dev/null +++ b/baseboards/a29k-udi.exp @@ -0,0 +1,23 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {a29k-amd-udi}; + +# Load the generic configuration for this board. +load_generic_config "udi"; + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +set_board_info compiler "[find_gcc]"; +# The basic set of flags needed to build "hello world" for this +# board. This target uses libgloss and newlib. +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]"; +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" +# We don't need a linker script. +set_board_info ldscript ""; + +# mondfe can't return exit statuses, so gcc (ctorture et al) needs to +# do what it can to get them. +set_board_info needs_status_wrapper 1; + +# Used by a few gcc.c-torture testcases to delimit how large the stack can +# be. +set_board_info gcc,stack_size 16384 diff --git a/baseboards/arc-sim.exp b/baseboards/arc-sim.exp new file mode 100644 index 0000000..4bb9d4a --- /dev/null +++ b/baseboards/arc-sim.exp @@ -0,0 +1,37 @@ +# There is currently no ARC simulator. This exists so gcc compile.exp testing +# works. + +# This is a list of toolchains that are supported on this board. +set_board_info target_install {arc-elf} + +# Load the generic configuration for this board. This will define a basic set +# of routines needed by the tool to communicate with the board. +load_generic_config "sim" + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim" + +# "arc" is the name of the sim subdir in devo/sim. +setup_sim arc + +# No multilib options needed by default. +process_multilib_options "" + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. + +set_board_info compiler "[find_gcc]" +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" +# No linker script needed. +set_board_info ldscript ""; + +# The simulator doesn't return exit statuses and we need to indicate this; +# the standard GCC wrapper will work with this target. +set_board_info needs_status_wrapper 1 +# Doesn't pass arguments or signals, can't return results, and doesn't +# do inferiorio. +set_board_info noargs 1 +set_board_info gdb,nosignals 1 +set_board_info gdb,noresults 1 +set_board_info gdb,noinferiorio 1 diff --git a/baseboards/arm-ice.exp b/baseboards/arm-ice.exp new file mode 100644 index 0000000..8e03737 --- /dev/null +++ b/baseboards/arm-ice.exp @@ -0,0 +1,48 @@ +# Load the generic configuration for this board. This will define a basic +# set of routines used to communicate with the board. +load_generic_config "arm-ice" + +# No multilib flags needed by default. +process_multilib_options "" + +if { [board_info $board obj_format] == "pe" } { + set additional_options "-Wl,-oformat,pe-arm-little,--image-base,0" +} else { + set additional_options "" +} + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +set_board_info compiler "[find_gcc]" +# The basic set of flags needed to build "hello world" for this +# board. This board uses libgloss and newlib. +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags] $additional_options" +# This board doesn't use a linker script. +set_board_info ldscript ""; + +# Used by a few gcc.c-torture testcases to delimit how large the stack can +# be. +set_board_info gcc,stack_size 16384 + +# We use "target rdi" to talk to the board. +set_board_info gdb_protocol "rdi" + +# No support for signals. +set_board_info gdb,nosignals 1 + +# Make this variable go away, we don't need it. +unset additional_options; + +# Can't call functions from GDB. +set_board_info gdb,cannot_call_functions 1 + +# Or do I/O. +set_board_info gdb,noinferiorio 1 + +# Or have signals. +set_board_info gdb,nosignals 1 + +# Exit statuses are invalid. +set_board_info exit_statuses_bad 1 diff --git a/baseboards/arm-sim.exp b/baseboards/arm-sim.exp new file mode 100644 index 0000000..9e96c1b --- /dev/null +++ b/baseboards/arm-sim.exp @@ -0,0 +1,52 @@ +# Load the generic configuration for this board. This will define a basic +# set of routines used to communicate with the board. +load_generic_config "sim" + +# No multilib flags needed by default. +process_multilib_options "" + +if { [board_info $board obj_format] == "pe" } { + set additional_options "-Wl,-oformat,pe-arm-little,--image-base,0" +# set_board_info uses_underscores 1 +} else { + +# if [istarget "*-*-coff"] { +# set_board_info uses_underscores 1 +# } + + set additional_options "" +} + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim" + +# The name of the directory in the build tree where the simulator lives. +setup_sim arm; + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +set_board_info compiler "[find_gcc]" + +# The basic set of flags needed to build "hello world" for this +# board. This board uses libgloss and newlib. +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags] $additional_options" + +# This board doesn't use a linker script. +set_board_info ldscript ""; + +# The simulator doesn't return exit statuses and we need to indicate this. +set_board_info needs_status_wrapper 1 + +# Used by a few gcc.c-torture testcases to delimit how large the stack can +# be. +set_board_info gcc,stack_size 16384 + +# No support for signals. +set_board_info gdb,nosignals 1 + +# More time is needed to compile PlumHall tests +set_board_info gcc,timeout 800 + +# Make this variable go away, we don't need it. +unset additional_options; diff --git a/baseboards/basic-sim.exp b/baseboards/basic-sim.exp new file mode 100644 index 0000000..3fa7c4d --- /dev/null +++ b/baseboards/basic-sim.exp @@ -0,0 +1,51 @@ +# find_sim -- find a usable simulator +# This proc is local to this file and is used to locate a simulator to use. +# First we see if SIM=foo was specified on the command line. +# Otherwise we search the build tree, then $PATH. + +proc find_sim { target_alias sim_dir sim_name } { + global tool_root_dir; + global SIM + + if [info exists SIM] { + return $SIM + } + + if [is_remote host] { + if ![board_info host exists no_transform_name] { + return ${target_alias}-${sim_name}; + } else { + return ${sim_name}; + } + } + + # We have to search because tool_root_dir may actually point to that blasted + # "target" subdirectory. + set try [lookfor_file ${tool_root_dir} sim/${sim_dir}/${sim_name}]; + if { $try != "" } { + return $try; + } + return ${target_alias}-${sim_name}; +} + +proc setup_sim { subdir_name } { + global target_alias; + global tool_root_dir; + global board; + + if [info exists target_alias] { + set tmp $target_alias; + } else { + if [board_info $board exists target_install] { + set tmp [lindex [board_info $board target_install] 0]; + } + } + + if ![board_info $board exists sim] { + set_board_info sim [find_sim $tmp $subdir_name run]; + } + + verbose "Using simulator [board_info $board sim]\n" +} + +set_board_info is_simulator 1; diff --git a/baseboards/cf.exp b/baseboards/cf.exp new file mode 100644 index 0000000..f4d73c3 --- /dev/null +++ b/baseboards/cf.exp @@ -0,0 +1,73 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {m68k-elf}; + +# Load the generic configuration for this board. This will define any +# routines needed by the tool to communicate with the board. +load_generic_config "cfdbug"; + +# Need -m5200 by default. +process_multilib_options "-m5200" + +# The compiler used to build for this board. Note that this has nothing to do +# with what compiler is tested when testing gcc. +set_board_info compiler "[find_gcc]" + +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]"; + +# Nasty hack. +if { [board_info $board obj_format] == "a.out" } { + # Need to pass the start address to objcopy. + set_board_info use_vma_offset 1; + # Wrapping has to be specially done for m68k-aout, for whatever reason. + set_board_info wrap_m68k_aout 1; + + set extra_m68k_ld_flags "-N" + + # We need to tell GDB to load at the correct offset. + set_board_info gdb_load_offset [board_info $board hex_startaddr]; +} else { + set extra_m68k_ld_flags "" +} + +set_board_info ldflags "$extra_m68k_ld_flags [libgloss_link_flags] [newlib_link_flags]" +unset extra_m68k_ld_flags + + +# If no output format is specified, use objcopy. +if ![board_info $board exists output_format] { + set tempfil [lookfor_file $tool_root_dir binutils/objcopy]; + if { $tempfil != "" } { + set_board_info objcopy $tempfil + } else { + set_board_info objcopy [transform objcopy] + } + unset tempfil +} + +# SBC5204 linker script. +set_board_info ldscript "-Wl,-Tsbc5204.ld"; +# The idt interface can't return exit statuses, so gcc (ctorture et +# al) needs to do what it can to get them. +set_board_info needs_status_wrapper 1; + +# Used by a few gcc.c-torture testcases to delimit how large the stack can be. +# The board has 192K of RAM. We will set stack size to one third of that. +set_board_info gcc,stack_size 65536 + +# GDB needs to use "target dbug" to talk to the board. +set_board_info gdb_protocol "dbug"; + +# Can't pass arguments to the program under test. +set_board_info noargs 1 + +# Nor can it do I/O in GDB. +set_board_info gdb,noinferiorio 1 + +# It has no signals. +set_board_info gdb,nosignals 1 + +# It can't return results when debugging with GDB. +set_board_info gdb,noresults 1 + +# Pseudo-random guess. +set_board_info sys_speed_value 200; diff --git a/baseboards/cygmon.exp b/baseboards/cygmon.exp new file mode 100644 index 0000000..6ee4458 --- /dev/null +++ b/baseboards/cygmon.exp @@ -0,0 +1,31 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {sparc-elf sparc64-elf} + +# Load the generic configuration for this board. This will define a +# set of generic routines used by the tool to communicate with the +# board. +load_generic_config "cygmon"; + +# It needs no multilib flags by default. +process_multilib_options "" + +set_board_info compiler "[find_gcc]"; +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]"; +set_board_info ldflags "-nostdlib [libgloss_link_flags] [newlib_link_flags] [board_info $board addl_link_flags]"; + +# CygMON linker script. +set_board_info ldscript "-Tcygmon.ld" + +# Standard remote protocol. +set_board_info gdb_protocol "remote"; +# We can't do input in GDB (yet! HA!). It *will* do output, hurrah. +set_board_info gdb,noinferiorio 1; +# Or pass arguments. +set_board_info noargs 1; +# Or do signals. +set_board_info gdb,nosignals 1; + +set_board_info shell_prompt "cygmon>" + + +set_board_info use_gdb_stub 1; diff --git a/baseboards/cygwin.exp b/baseboards/cygwin.exp new file mode 100644 index 0000000..80d4407 --- /dev/null +++ b/baseboards/cygwin.exp @@ -0,0 +1,12 @@ +# The canonical unix board description. +load_generic_config "unix"; + +process_multilib_options ""; + +set_board_info compiler "[find_gcc]"; + +set_board_info bmk,use_alarm 1; + +set_board_info gdb,noinferiorio 1; + +send_user "configuring for cygwin testing\n"; diff --git a/baseboards/d10v-sim.exp b/baseboards/d10v-sim.exp new file mode 100644 index 0000000..f744cdc --- /dev/null +++ b/baseboards/d10v-sim.exp @@ -0,0 +1,48 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {d10v-elf} + +# Load the generic configuration for this board. This will define any +# routines needed to communicate with the board. +load_generic_config "sim"; + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim" + +# The name of the simulator directory is "d10v". +setup_sim d10v + +# No multilib options needed by default. +process_multilib_options ""; + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +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 "[libgloss_link_flags] [newlib_link_flags]" +# No linker script needed. +set_board_info ldscript ""; + +# Can't pass arguments to programs on this target.. +set_board_info noargs 1 +# And there's no support for signals. +set_board_info gdb,nosignals 1 + +# Used by a few gcc.c-torture testcases to delimit how large the stack can +# be. +set_board_info gcc,stack_size 5000 + +# Used by a few gcc.c-torture testcases when trampolines are used. +set_board_info gcc,no_trampolines 1 + +# Used by a few gcc.c-torture testcases when labels as values are used. +set_board_info gcc,no_label_values 1 + +# Torture test gcc.c-torture/execute/920501-6.c takes > 5 minutes on a +# 90 Mhz Pentium, so up the time limit. +set board_info($board,sim_time_limit) 600 + +# sizeof int != sizeof long. +set_board_info gdb,short_int 1 diff --git a/baseboards/d10v.exp b/baseboards/d10v.exp new file mode 100644 index 0000000..254556e --- /dev/null +++ b/baseboards/d10v.exp @@ -0,0 +1,60 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {d10v-elf} + +# Load the generic configuration for this board. This will define a base set +# of routines needed by the tool to communicate with the board. +load_generic_config "d10v" + +# No multilib options are needed by default for this board. +process_multilib_options ""; + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. +set_board_info compiler "[find_gcc]"; +set_board_info cflags "[newlib_include_flags]"; +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]"; +# No linker script needed. +set_board_info ldscript ""; + +# The board can't really return exit statuses and we need to indicate this; +# however, the standard GCC wrapper won't work with this target because +# it can't do I/O. +#set_board_info needs_status_wrapper 1 + +# It uses the remote stub protocol to talk to the board. +set_board_info gdb_protocol "remote" +set_board_info use_gdb_stub 1 + +# Both the EVA and TS3 boards currently deal badly with X packets. +set_board_info disable_x_packet 1 + +# Both the EVA and TS3 boards currently deal badly with Z packets. +set_board_info disable_z_packet 1 + +# Used by gdb-comm. +set_board_info gdb_run_command "jump *_start"; +set_board_info gdb,start_symbol "_start"; + +# Can't pass arguments to programs on this target. +set_board_info noargs 1 +# And there's no support for signals. +set_board_info gdb,nosignals 1 +# And it can't do I/O. +set_board_info gdb,noinferiorio 1 + +# Used by a few gcc.c-torture testcases to delimit how large the stack can +# be. +set_board_info gcc,stack_size 5000 + +# Used by a few gcc.c-torture testcases when trampolines are used. +set_board_info gcc,no_trampolines 1 + +# Used by a few gcc.c-torture testcases when labels as values are used. +set_board_info gcc,no_label_values 1 + +# sizeof int != sizeof long. +set_board_info gdb,short_int 1 + +# Some d10v:ts3 boards are in ts2-board compatibility mode after a reset. +# Force it into d10v:ts3 internal mode +set_board_info gdb_init_command "set \$dmap2 = 0x2000" diff --git a/baseboards/d30v-sim.exp b/baseboards/d30v-sim.exp new file mode 100644 index 0000000..c795165 --- /dev/null +++ b/baseboards/d30v-sim.exp @@ -0,0 +1,33 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {d30v-elf} + +# Load the generic configuration for this board. This will define any +# routines needed to communicate with the board. +load_generic_config "sim"; + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim" + +# The name of the simulator directory is "d30v". +setup_sim d30v + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +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. +# Pass -C to the assembler to suppress the warning about symbols being the same name as registers +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags] -Wa,-C" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags] -mextmem -Wl,--defsym,__stack=0x80800000" +# No linker script needed. +set_board_info ldscript ""; + +# Can't pass arguments to programs on this target.. +set_board_info noargs 1 +# And there's no support for signals. +set_board_info gdb,nosignals 1 + +# Used by a few gcc.c-torture testcases to delimit how large the stack can +# be. +set_board_info gcc,stack_size 5000 diff --git a/baseboards/danlite-elf.exp b/baseboards/danlite-elf.exp new file mode 100644 index 0000000..e22db2f --- /dev/null +++ b/baseboards/danlite-elf.exp @@ -0,0 +1,42 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {sparc86x-elf} + +# Load the generic configuration for this board. This will define a +# set of generic routines used by the tool to communicate with the +# board. +load_generic_config "slite"; + +# It needs no multilib flags by default. +process_multilib_options "" + +set_board_info compiler "[find_gcc]"; +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]"; + +set_board_info ldflags "-nostartfiles [libgloss_link_flags] [newlib_link_flags]"; + +# DANlite (sparc86x) linker script. +set_board_info ldscript "-Tsparc86x.ld"; + +# The address at which the stub needs to be linked. +# set_board_info gdb_stub_offset "0x40000000"; + +# The board doesn't return exit statuses and we need to indicate this. +# However, the standard GCC wrapper won't work with this target because +# it doesn't return stuff from printf (). +set_board_info needs_status_wrapper 1; + +# We use a GDB stub to talk to the board. +set_board_info use_gdb_stub 1; +# For GDB, we need to use a real stub (not the separate loader scheme +# we use for Sparclet). +set_board_info gdb_stub ""; +# And the protocol is "sparclite". +set_board_info gdb_protocol "sparclite"; +# No mathlib. +set_board_info mathlib ""; +# We can't do I/O in GDB. +set_board_info gdb,noinferiorio 1; +# Or pass arguments. +set_board_info noargs 1; +# Or do signals. +set_board_info gdb,nosignals 1; diff --git a/baseboards/dos.exp b/baseboards/dos.exp new file mode 100644 index 0000000..8702a03 --- /dev/null +++ b/baseboards/dos.exp @@ -0,0 +1,25 @@ +# This is a list of the installed tools for this board. Of course, +# we apparently don't create a compiler for this board, but... +set_board_info target_install {i386-cygwin32} + +# Load the generic configuration for the board. This will define any routines +# needed by the tool to communicate with the board. + +load_generic_config "dos"; + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +set_board_info compiler "[find_gcc]"; +# The basic set of flags needed to build "hello world" for this +# board. This target uses libgloss, libio and winsup. +set_board_info cflags "[newlib_include_flags] [libio_include_flags] [winsup_include_flags]"; +set_board_info ldflags "[newlib_link_flags] [libio_link_flags] [winsup_link_flags]" +# We don't need a link script. +set_board_info ldscript ""; + +# mondfe can't return exit statuses, so gcc (ctorture et al) needs to +# do what it can to get them. +set_board_info needs_status_wrapper 1; + +set_board_info gdb_opts "--command gdbinit" +set_board_info gdb,nointerrupts 1 diff --git a/baseboards/fr30-cygmon.exp b/baseboards/fr30-cygmon.exp new file mode 100644 index 0000000..b18fa59 --- /dev/null +++ b/baseboards/fr30-cygmon.exp @@ -0,0 +1,31 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {fr30-elf} + +# Load the generic configuration for this board. This will define a +# set of generic routines used by the tool to communicate with the +# board. +load_generic_config "cygmon"; + +# It needs no multilib flags by default. +process_multilib_options "" + +set_board_info compiler "[find_gcc]"; +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]"; +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags] [board_info $board addl_link_flags]"; + +# CygMON linker script. +set_board_info ldscript "-specs=eval1.specs" + +# Standard remote protocol. +set_board_info gdb_protocol "remote"; +# We can't do input in GDB (yet! HA!). It *will* do output, hurrah. +set_board_info gdb,noinferiorio 1; +# Or pass arguments. +set_board_info gdb,noargs 1; +set_board_info noargs 1; +# Or do signals. +set_board_info gdb,nosignals 1; + +set_board_info shell_prompt "cygmon>" + +set_board_info use_gdb_stub 1; diff --git a/baseboards/fr30-elf.exp b/baseboards/fr30-elf.exp new file mode 100644 index 0000000..3c8f514 --- /dev/null +++ b/baseboards/fr30-elf.exp @@ -0,0 +1,40 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {fr30-elf} + +# No multilib flags needed by default. +process_multilib_options "" + +# Load the generic configuration for this board. This will define a basic set +# of routines needed by the tool to communicate with the board. +if { $is_gdb_remote } { + load_generic_config "fr30-stub" +} else { + load_generic_config "fr30" +} + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. + +set_board_info compiler "[find_gcc]" +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" +set_board_info ldscript "-Wl,-Teva.ld" +set_board_info gdb,start_symbol "_start" + +set_board_info needs_status_wrapper 1 + +# The GDB protocol used for this target. +if { ! $is_gdb_remote } { + set_board_info gdb_protocol "fr30" +} else { + set_board_info gdb_protocol "fr30" + set_board_info use_gdb_stub 1 + set_board_info gdb_stub_ldscript "-Wl,-Teva-stub.ld" +} + +# Doesn't pass arguments or signals, can't return results, and doesn't +# do inferiorio. +set_board_info noargs 1 +set_board_info gdb,nosignals 1 +set_board_info gdb,noresults 1 +set_board_info gdb,noinferiorio 1 diff --git a/baseboards/fr30-sim.exp b/baseboards/fr30-sim.exp new file mode 100644 index 0000000..73fad4c --- /dev/null +++ b/baseboards/fr30-sim.exp @@ -0,0 +1,34 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {fr30-elf} + +# Load the generic configuration for this board. This will define a basic set +# of routines needed by the tool to communicate with the board. +load_generic_config "sim" + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim" + +# "fr30" is the name of the sim subdir in devo/sim. +setup_sim fr30 + +# No multilib options needed by default. +process_multilib_options "" + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. + +set_board_info compiler "[find_gcc]" +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" +# No linker script needed. +set_board_info ldscript ""; + +# The simulator doesn't return exit statuses and we need to indicate this; +# the standard GCC wrapper will work with this target. +set_board_info needs_status_wrapper 1 +# Doesn't pass arguments or signals, can't return results, and doesn't +# do inferiorio. +set_board_info noargs 1 +set_board_info gdb,nosignals 1 +set_board_info gdb,noresults 1 +set_board_info gdb,noinferiorio 1 diff --git a/baseboards/h8300-sim.exp b/baseboards/h8300-sim.exp new file mode 100644 index 0000000..39415df --- /dev/null +++ b/baseboards/h8300-sim.exp @@ -0,0 +1,44 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {h8300-hms} + +# 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 "sim" + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim" + +# The name of the simulator is "h8300" (as in h8300-hms-run). +setup_sim h8300 + +# No multilib options are used by default. +process_multilib_options "" + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +set_board_info compiler "[find_gcc]" + +# We only support newlib on this target. +set_board_info cflags "[newlib_include_flags]" +set_board_info ldflags "[newlib_link_flags]" +# The simulator doesn't return exit statuses and we need to indicate this. +set_board_info needs_status_wrapper 1 + +# There's no support for argument-passing. +set_board_info noargs 1 +# Nor does it have real signals. +set_board_info gdb,nosignals 1 +# And it can't do I/O. +set_board_info gdb,noinferiorio 1 +# Nor can it return results. +set_board_info gdb,noresults 1 + +# Limit the stack size to something real tiny. +set_board_info gcc,stack_size 4096 + +# There's no long long support on this target +set_board_info no_long_long 1 + +# sizeof int != sizeof long. +set_board_info gdb,short_int 1 diff --git a/baseboards/h8300.exp b/baseboards/h8300.exp new file mode 100644 index 0000000..f42dbb0 --- /dev/null +++ b/baseboards/h8300.exp @@ -0,0 +1,68 @@ +# 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 "h8300" + +# Don't use anything by default. +process_multilib_options "" + +# 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 "[newlib_link_flags]" + +# 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 +# Nor does it have real signals. +set_board_info gdb,nosignals 1 +# And it can't do I/O. +set_board_info gdb,noinferiorio 1 +# Nor can it return results. +set_board_info gdb,noresults 1 + +# Limit the stack size to something real tiny. +set_board_info gcc,stack_size 4096 + +# The board can get wedged in amusing and interesting ways. +set_board_info unreliable 1 + +# There's no long long support on this target +set_board_info no_long_long 1 + +# sizeof int != sizeof long. +set_board_info gdb,short_int 1 + +# Pick the right linker script if -mh/-ms is specified. + +set linker_script "h8300.ld" + +foreach x $board_variant_list { + regsub -all "^\[ \t\]*" "$x" "" x; + regsub -all "\[ \t\]*$" "$x" "" x; + + case $x in { + { h -mh } { + set linker_script "h8300h.ld" + } + { s -ms } { + set linker_script "h8300s.ld" + } + } +} + +# Whee, magic linker scripts hidden away. +# +# This one's dependent on the multilib options in use, sadly. And we +# *need* a linker script. Really. Otherwise the code gets linked at +# the wrong address and it won't run on the board. +set_board_info ldscript "-Wl,-T${prefix_dir}/h8300-hms/${linker_script}" + +unset linker_script diff --git a/baseboards/i386-bozo.exp b/baseboards/i386-bozo.exp new file mode 100644 index 0000000..1dbfae0 --- /dev/null +++ b/baseboards/i386-bozo.exp @@ -0,0 +1,51 @@ +# 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"; diff --git a/baseboards/i960-cyclone.exp b/baseboards/i960-cyclone.exp new file mode 100644 index 0000000..6ce5ce7 --- /dev/null +++ b/baseboards/i960-cyclone.exp @@ -0,0 +1,47 @@ +# Danger, Will Robinson! Settings in this file do not override +# previous settings for the board being defined. + +# Load the generic configuration for this board. This will define a basic +# set of routines needed by the tool to communicate with the board. +load_generic_config "i960" + +# No multilib options needed by default. +process_multilib_options "" + +# We want to strip executables before downloading them via xmodem. +if ![board_info $board exists strip] { + set tempfil [lookfor_file $tool_root_dir binutils/strip]; + if { $tempfil != "" } { + set_board_info strip $tempfil + } else { + set_board_info strip [transform strip] + } + unset tempfil +} + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. +set_board_info compiler "[find_gcc]" +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info start_addr 0xa0008000 +set_board_info ldflags "-Wl,-Ttext,[board_info $board start_addr] [libgloss_link_flags] [newlib_link_flags] -B${prefix_dir}/i960-coff/" +# IDT linker script. +set_board_info ldscript "-Wl,-T${prefix_dir}/i960-coff/i960.ld" + +# GDB doesn't return exit statuses and we need to indicate this; +# the standard GCC wrapper will work with this target. +set_board_info needs_status_wrapper 1 + +# The GDB protocol used with this board. +set_board_info gdb_protocol "mon960" + +# Can't pass arguments to the program. +set_board_info noargs 1 + +# No support for signals. +set_board_info gdb,nosignals 1 + +set_board_info gdb_prompt "\\(gdb960\\)" + +# The board tends to be unreliable. +set_board_info unreliable 1 diff --git a/baseboards/i960-sim.exp b/baseboards/i960-sim.exp new file mode 100644 index 0000000..98ca8de --- /dev/null +++ b/baseboards/i960-sim.exp @@ -0,0 +1,28 @@ +# Load the generic configuration for this board. This will define a basic +# set of routines needed by the tool to communicate with the board. +load_generic_config "sim"; + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim"; + +# This tells it which directory to look in for the simulator. +setup_sim i960; + +# No multilib flags are set by default. +# Set -msoft-float, because the simulator doesn't have FP support yet. +process_multilib_options "-msoft-float"; + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +set_board_info compiler "[find_gcc]"; + +set_board_info cflags "-mka [libgloss_include_flags] [newlib_include_flags]"; +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]"; + +# Use mon960. +set_board_info ldscript "-Wl,-Tmon960.ld"; + +# And, it can't do arguments, and doesn't have real signals. +# ??? Unknown if this is right. +set_board_info noargs 1; +set_board_info gdb,nosignals 1; diff --git a/baseboards/jmr3904-sim.exp b/baseboards/jmr3904-sim.exp new file mode 100644 index 0000000..244e2b5 --- /dev/null +++ b/baseboards/jmr3904-sim.exp @@ -0,0 +1,14 @@ +# 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"; diff --git a/baseboards/linux-gdbserver.exp b/baseboards/linux-gdbserver.exp new file mode 100644 index 0000000..abf06d7 --- /dev/null +++ b/baseboards/linux-gdbserver.exp @@ -0,0 +1,36 @@ +# gdbserver running native. + +load_generic_config "gdbserver"; + +process_multilib_options ""; + +# The default compiler for this target. +set_board_info compiler "[find_gcc]"; + +# We will be using the standard GDB remote protocol +set_board_info gdb_protocol "remote" + +# Path to the gdbserver executable, if required. +set_board_info gdb_server_prog \ + "../gdbserver/gdbserver" + +# Name of the computer whose socket will be used, if required. +set_board_info sockethost "localhost:" + +# Port ID to use for socket connection +# set_board_info gdb,socketport "4004" + +# Use techniques appropriate to a stub +set_board_info use_gdb_stub 1; + +# This gdbserver can only run a process once per session. +set_board_info gdb,do_reload_on_run 1; + +# There's no support for argument-passing (yet). +set_board_info noargs 1 + +# Can't do input (or output) in the current gdbserver. +set_board_info gdb,noinferiorio 1 + +# Can't do hardware watchpoints, in general +set_board_info gdb,no_hardware_watchpoints 1; diff --git a/baseboards/linux-libremote.exp b/baseboards/linux-libremote.exp new file mode 100644 index 0000000..8310969 --- /dev/null +++ b/baseboards/linux-libremote.exp @@ -0,0 +1,36 @@ +# Libremote gdbserver running native. + +load_generic_config "gdbserver"; + +process_multilib_options ""; + +# The default compiler for this target. +set_board_info compiler "[find_gcc]"; + +# We will be using the standard GDB remote protocol +set_board_info gdb_protocol "remote" + +# Path to the gdbserver executable, if required. +set_board_info gdb_server_prog \ + "../../libremote/native/server" + +# Name of the computer whose socket will be used, if required. +# set_board_info sockethost "localhost" + +# Port ID to use for socket connection +# set_board_info gdb,socketport "4004" + +# Use techniques appropriate to a stub +set_board_info use_gdb_stub 1; + +# This gdbserver can only run a process once per session. +set_board_info gdb,do_reload_on_run 1; + +# There's no support for argument-passing (yet). +set_board_info noargs 1 + +# Can't do input (or output) in the current gdbserver. +set_board_info gdb,noinferiorio 1 + +# Can't do hardware watchpoints, in general +set_board_info gdb,no_hardware_watchpoints 1; diff --git a/baseboards/m32r-elf.exp b/baseboards/m32r-elf.exp new file mode 100644 index 0000000..ab402ae --- /dev/null +++ b/baseboards/m32r-elf.exp @@ -0,0 +1,40 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {m32r-elf} + +# No multilib flags needed by default. +process_multilib_options "" + +# Load the generic configuration for this board. This will define a basic set +# of routines needed by the tool to communicate with the board. +if { $is_gdb_remote } { + load_generic_config "m32r-stub" +} else { + load_generic_config "m32r" +} + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. + +set_board_info compiler "[find_gcc]" +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" +set_board_info ldscript "-Wl,-Teva.ld" +set_board_info gdb,start_symbol "_start" + +set_board_info needs_status_wrapper 1 + +# The GDB protocol used for this target. +if { ! $is_gdb_remote } { + set_board_info gdb_protocol "m32r" +} else { + set_board_info gdb_protocol "m32r" + set_board_info use_gdb_stub 1 + set_board_info gdb_stub_ldscript "-Wl,-Teva-stub.ld" +} + +# Doesn't pass arguments or signals, can't return results, and doesn't +# do inferiorio. +set_board_info noargs 1 +set_board_info gdb,nosignals 1 +set_board_info gdb,noresults 1 +set_board_info gdb,noinferiorio 1 diff --git a/baseboards/m32r-sim.exp b/baseboards/m32r-sim.exp new file mode 100644 index 0000000..eaa7145 --- /dev/null +++ b/baseboards/m32r-sim.exp @@ -0,0 +1,34 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {m32r-elf} + +# Load the generic configuration for this board. This will define a basic set +# of routines needed by the tool to communicate with the board. +load_generic_config "sim" + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim" + +# "m32r" is the name of the sim subdir in devo/sim. +setup_sim m32r + +# No multilib options needed by default. +process_multilib_options "" + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. + +set_board_info compiler "[find_gcc]" +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" +# No linker script needed. +set_board_info ldscript ""; + +# The simulator doesn't return exit statuses and we need to indicate this; +# the standard GCC wrapper will work with this target. +set_board_info needs_status_wrapper 1 +# Doesn't pass arguments or signals, can't return results, and doesn't +# do inferiorio. +set_board_info noargs 1 +set_board_info gdb,nosignals 1 +set_board_info gdb,noresults 1 +set_board_info gdb,noinferiorio 1 diff --git a/baseboards/m68k-emc.exp b/baseboards/m68k-emc.exp new file mode 100644 index 0000000..7b57649 --- /dev/null +++ b/baseboards/m68k-emc.exp @@ -0,0 +1,35 @@ +# Load the generic configuration for this board. This will define any +# routines needed by the tool to communicate with the board. +load_generic_config "m68k-emc"; + +# No multilib options by default. +process_multilib_options "" + +# The compiler used to build for this board. Note that this has nothing to do +# with what compiler is tested when testing gcc. +set_board_info compiler "[find_gcc]" + +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]"; + +set_board_info ldflags "-nostdlib [libgloss_link_flags] [newlib_link_flags]" + +# No linker script. +set_board_info ldscript ""; +# The idt interface can't return exit statuses, so gcc (ctorture et +# al) needs to do what it can to get them. +set_board_info needs_status_wrapper 1; + +# GDB needs to use "target remote" to talk to the board. +set_board_info gdb_protocol "remote"; + +# Can't pass arguments to the program under test. +set_board_info noargs 1 + +# Nor can it do I/O in GDB. +set_board_info gdb,noinferiorio 1 + +# It has no signals. +set_board_info gdb,nosignals 1 + +# It can't return results when debugging with GDB. +set_board_info gdb,noresults 1 diff --git a/baseboards/mcore-elf.exp b/baseboards/mcore-elf.exp new file mode 100644 index 0000000..a50df98 --- /dev/null +++ b/baseboards/mcore-elf.exp @@ -0,0 +1,35 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {mcore-elf} + +# No multilib flags needed by default. +process_multilib_options "" + +# Load the generic configuration for this board. This will define a basic set +# of routines needed by the tool to communicate with the board. +load_generic_config "mcore" + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. + +set_board_info compiler "[find_gcc]" +set_board_info cflags "-specs=cmb.specs [libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" +set_board_info ldscript "" +set_board_info gdb,start_symbol "_start" + +#set_board_info needs_status_wrapper 1 + +# The GDB protocol used for this target. +set_board_info gdb_protocol "picobug" +set_board_info use_gdb_stub 1 + +# Doesn't pass arguments or signals, can't return results, and doesn't +# do inferiorio. It can't handle FP, either. +set_board_info noargs 1 +set_board_info gdb,nosignals 1 +set_board_info gdb,noresults 1 +set_board_info gdb,noinferiorio 1 +set_board_info gdb,skip_float_tests 1 + +# Increase the timeout +set timeout 60 diff --git a/baseboards/mcore-moto-sim.exp b/baseboards/mcore-moto-sim.exp new file mode 100644 index 0000000..a362f4f --- /dev/null +++ b/baseboards/mcore-moto-sim.exp @@ -0,0 +1,125 @@ +# This is a HACKED version of mcore-sim.exp that is intended to +# support running tests on Motorola's proprietry MCore simulator. + +# It is quite likely that thia file will need to be modified in +# order for you to use Motorola's simulator. + +# This is a list of toolchains that are supported on this board. +set_board_info target_install {mcore-elf, mcore-pe} + +# Do general config stuff but do not load anything. "jim" was +# chosen because it does not exist. +load_generic_config "jim" + +process_multilib_options "" + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. +set_board_info compiler "[find_gcc]" +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" + +# No linker script needed. +set_board_info ldscript ""; + +# The simulator doesn't return exit statuses and we need to indicate this; +# the standard GCC wrapper will work with this target. +set_board_info needs_status_wrapper 1 + +# Doesn't pass arguments or signals, can't return results, and doesn't +# do inferiorio. +set_board_info noargs 1 +set_board_info gdb,nosignals 1 +set_board_info gdb,noresults 1 +set_board_info gdb,noinferiorio 1 + +# Rather than include the normal simulator support files, +# their functions are reproduced (and modified) here. +# -------------------------------------------------------------- +proc sim_spawn { dest cmdline args } { + + # Choose whoch simulator to run + ## XXX - fixme - this should be automatic based on the + ## multilib option. + ## XXX - fixme - this should not be hardcoded. + set sim "/home/nickc/bin/linux/sim-be" +# set sim "/home/nickc/bin/linux/sim-le" + + set simflags "-m abi" + + # Create a script to run the program + set handle [open doit w] + puts $handle "load $cmdline" + puts $handle "reset" + puts $handle "g 28" + puts $handle "quit" + close $handle + + return [eval remote_spawn host \{ $sim $simflags "-sdoit" \} $args]; +} + +proc sim_wait { dest timeout } { + return [remote_wait host $timeout]; +} + +proc sim_load { dest prog args } { + + if ![file exists $prog] then { + perror "sim.exp: $prog to be downloaded does not exist." + verbose -log "$prog to be downloaded does not exist." 3 + return [list "untested" ""]; + } + + set sim_time_limit 240 + + set output ""; + + set res [remote_spawn target "${prog}"]; + + if { $res <= 0 } { + return [list "fail" "remote_spawn failed"]; + } + + set state [remote_wait target $sim_time_limit]; + set status [lindex $state 0]; + set output [lindex $state 1]; + verbose "Output is $output"; + + set status2 [check_for_board_status output]; + if { $status2 >= 0 } { + set status $status2 + } + + # FIXME: Do we need to examine $status? + # Yes, we do--what if the simulator itself gets an error and coredumps? + + verbose "Return status was: $status" 2 + if { $status == 0 } { + set result "pass" + } else { + set result "fail" + } + return [list $result $output]; +} + +set_board_info protocol "sim"; + +# By default, assume the simulator is slow. This causes some tests +# to either be simplified or skipped completely. +set_board_info slow_simulator 1 + +# ----------------------------------------------------------- +# find_sim -- find a usable simulator +# This proc is local to this file and is used to locate a simulator to use. +# First we see if SIM=foo was specified on the command line. +# Otherwise we search the build tree, then $PATH. + +proc find_sim { target_alias sim_dir sim_name } { + + ## XXX - fixme - this should not be hardcoded. + ## XXX - fixme - this should vary depending upon endianism selected. + + return "/home/nickc/bin/linux/sim-be"; +} + +set_board_info is_simulator 1; diff --git a/baseboards/mcore-pe.exp b/baseboards/mcore-pe.exp new file mode 100644 index 0000000..526f674 --- /dev/null +++ b/baseboards/mcore-pe.exp @@ -0,0 +1,35 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {mcore-pe} + +# No multilib flags needed by default. +process_multilib_options "" + +# Load the generic configuration for this board. This will define a basic set +# of routines needed by the tool to communicate with the board. +load_generic_config "mcore" + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. + +set_board_info compiler "[find_gcc]" +set_board_info cflags "-specs=cmb.specs [libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" +set_board_info ldscript "" +set_board_info gdb,start_symbol "_start" + +#set_board_info needs_status_wrapper 1 + +# The GDB protocol used for this target. +set_board_info gdb_protocol "picobug" +set_board_info use_gdb_stub 1 + +# Doesn't pass arguments or signals, can't return results, and doesn't +# do inferiorio. It can't handle FP, either. +set_board_info noargs 1 +set_board_info gdb,nosignals 1 +set_board_info gdb,noresults 1 +set_board_info gdb,noinferiorio 1 +set_board_info gdb,skip_float_tests 1 + +# Increase the timeout +set timeout 60 diff --git a/baseboards/mcore-sim.exp b/baseboards/mcore-sim.exp new file mode 100644 index 0000000..ae863ca --- /dev/null +++ b/baseboards/mcore-sim.exp @@ -0,0 +1,37 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {mcore-elf, mcore-pe} + +# Load the generic configuration for this board. This will define a basic set +# of routines needed by the tool to communicate with the board. +load_generic_config "sim" + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim" + +# "mcore" is the name of the sim subdir in devo/sim. +setup_sim mcore + +# No multilib options needed by default. +process_multilib_options "" + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. + +set_board_info compiler "[find_gcc]" +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" +# No linker script needed. +set_board_info ldscript ""; + +# The simulator doesn't return exit statuses and we need to indicate this; +# the standard GCC wrapper will work with this target. +set_board_info needs_status_wrapper 1 +# Doesn't pass arguments or signals, can't return results, and doesn't +# do inferiorio. +set_board_info noargs 1 +set_board_info gdb,nosignals 1 +set_board_info gdb,noresults 1 +set_board_info gdb,noinferiorio 1 +set_board_info gdb,skip_float_tests 1 + +set timeout 45 diff --git a/baseboards/mips-idt.exp b/baseboards/mips-idt.exp new file mode 100644 index 0000000..17c6ca8 --- /dev/null +++ b/baseboards/mips-idt.exp @@ -0,0 +1,31 @@ +# Load the generic configuration for this board. This will define any +# routines needed by the tool to communicate with the board. +load_generic_config "mips-idt"; + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +set_board_info compiler "[find_gcc]"; + +# We don't use any multilib options by default. +process_multilib_options "" + +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]"; +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]"; + +# Use idt. +if { [board_info $board obj_format] == "ecoff" } { + set_board_info ldscript "-Wl,-Tidtecoff.ld"; +} else { + set_board_info ldscript "-Wl,-Tidt.ld"; +} + +# The idt interface can't return exit statuses, so gcc (ctorture et +# al) needs to do what it can to get them. +set_board_info needs_status_wrapper 1; + +# GDB needs to use "target mips" to talk to the board. +set_board_info gdb_protocol "mips"; + +# And, it can't do arguments, and doesn't have real signals. +set_board_info noargs 1 +set_board_info gdb,nosignals 1 diff --git a/baseboards/mips-lnews-sim.exp b/baseboards/mips-lnews-sim.exp new file mode 100644 index 0000000..b4685df --- /dev/null +++ b/baseboards/mips-lnews-sim.exp @@ -0,0 +1,5 @@ +# lnews linker script. +set_board_info ldscript "-Wl,-Tlnews.ld" + +# Otherwise, it's the same as the standard mips simulator. +load_base_board_description "mips-sim"; diff --git a/baseboards/mips-lsi-sim.exp b/baseboards/mips-lsi-sim.exp new file mode 100644 index 0000000..47cae89 --- /dev/null +++ b/baseboards/mips-lsi-sim.exp @@ -0,0 +1,8 @@ +# We need mips16. +add_multilib_option "-mips16" + +# And we use the lsi linker script. +set_board_info ldscript "-Wl,-Tlsi.ld" + +# Otherwise we're the same as the standard MIPS simulator. +load_base_board_description "mips-sim"; diff --git a/baseboards/mips-sim.exp b/baseboards/mips-sim.exp new file mode 100644 index 0000000..104188a --- /dev/null +++ b/baseboards/mips-sim.exp @@ -0,0 +1,30 @@ +# Load the generic configuration for this board. This will define a basic +# set of routines needed by the tool to communicate with the board. +load_generic_config "sim"; + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim"; + +# This tells it which directory to look in for the simulator. +setup_sim mips; + +# No multilib flags are set by default. +process_multilib_options ""; + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +set_board_info compiler "[find_gcc]"; + +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]"; +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]"; + +# Use idt. +if { [board_info $board obj_format] == "ecoff" } { + set_board_info ldscript "-Wl,-Tidtecoff.ld"; +} else { + set_board_info ldscript "-Wl,-Tidt.ld"; +} + +# And, it can't do arguments, and doesn't have real signals. +set_board_info noargs 1; +set_board_info gdb,nosignals 1; diff --git a/baseboards/mips64-sim.exp b/baseboards/mips64-sim.exp new file mode 100644 index 0000000..3315619 --- /dev/null +++ b/baseboards/mips64-sim.exp @@ -0,0 +1,29 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {mips64vr4300-elf + mips64-elf} + +# Load the generic configuration for this board. This will define a basic +# set of routines needed by the tool to communicate with the board. +load_generic_config "sim"; + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim"; + +# This tells it which directory to look in for the simulator. +setup_sim mips; + +# No multilib flags are set by default. +process_multilib_options ""; + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +set_board_info compiler "[find_gcc]"; + +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]"; +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]"; +# PMON linker script. +set_board_info ldscript "-Wl,-Tpmon.ld" + +# And, it can't do arguments or signals in GDB. +set_board_info noargs 1; +set_board_info gdb,nosignals 1; diff --git a/baseboards/mips64vr4100-sim.exp b/baseboards/mips64vr4100-sim.exp new file mode 100644 index 0000000..6e1d5eb --- /dev/null +++ b/baseboards/mips64vr4100-sim.exp @@ -0,0 +1,33 @@ +# This is the name of the installed tools for this target. +set target_install "mips64vr4100-elf" + +# Load the generic configuration for this board. This will define a basic +# set of routines needed by the tool to communicate with the board. +load_generic_config "sim" + +load_lib "libgloss.exp" + +# We need this for find_gcc and *_include_flags/*_link_flags. +load_board_description "basic-sim" + +if ![info exists board_info($board,multilib_flags)] { + set board_info($board,multilib_flags) "-mips16" +} + +# This tells it which directory to look in for the simulator. +setup_sim mips + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. +set board_info($board,compiler) "[find_gcc]" +set board_info($board,cflags) "[libgloss_include_flags] [newlib_include_flags] [libio_include_flags]" +set board_info($board,ldflags) "[libgloss_link_flags] [newlib_link_flags] [libio_link_flags]" +# IDT linker script. +set board_info($board,ldscript) "-Wl,-Tidt.ld" + +# The simulator doesn't return exit statuses and we need to indicate this; +# the standard GCC wrapper will work with this target. +set board_info($board,needs_status_wrapper) 1 +set board_info($board,gdb,noargs) 1 +set_board_info gdb,nosignals 1; +set_board_info noargs 1; diff --git a/baseboards/mn10200-cygmon.exp b/baseboards/mn10200-cygmon.exp new file mode 100644 index 0000000..1d122e3 --- /dev/null +++ b/baseboards/mn10200-cygmon.exp @@ -0,0 +1,32 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {mn10200-elf} + +# Load the generic configuration for this board. This will define a +# set of generic routines used by the tool to communicate with the +# board. +load_generic_config "mn10200-eval"; + +# It needs no multilib flags by default. +process_multilib_options "" + +set_board_info compiler "[find_gcc]"; +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]"; +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags] [board_info $board addl_link_flags]"; + +# CygMON linker script. +set_board_info ldscript "-Teval.ld" + +# Standard remote protocol. +set_board_info gdb_protocol "remote"; +# We can't do input in GDB (yet! HA!). It *will* do output, hurrah. +set_board_info gdb,noinferiorio 1; +# Or pass arguments. +set_board_info gdb,noargs 1; +set_board_info noargs 1; +# Or do signals. +set_board_info gdb,nosignals 1; + +set_board_info shell_prompt "cygmon>" + + +set_board_info use_gdb_stub 1; diff --git a/baseboards/mn10200-sim.exp b/baseboards/mn10200-sim.exp new file mode 100644 index 0000000..2356e3a --- /dev/null +++ b/baseboards/mn10200-sim.exp @@ -0,0 +1,45 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {mn10200-elf} + +# 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 "sim" + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim" + +# This is the name of the sim subdir in devo/sim (and in the build tree). +setup_sim mn10200 + +# No multilib flags are set by default. +process_multilib_options "" + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +set_board_info compiler "[find_gcc]" + +# We only support newlib on this target. +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" + +# Simulator linker script. +set_board_info ldscript "-Tsim.ld" + +# The simulator doesn't return exit statuses and we need to indicate this. +set_board_info needs_status_wrapper 1 + +# We can't pass args to the simulator or get exit status back from the +# simulator, nor does the simulator support real signals. +set_board_info noargs 1 +set_board_info gdb,nosignals 1 +set_board_info gdb,noresults 1 +set_board_info gdb,noinferiorio 1 + +# The mn10200 doesn't support long long data types or double data types. +set_board_info no_long_long 1 +set_board_info no_double 1 + +# Used by a few gcc.c-torture testcases to delimit how large the stack can +# be. +set_board_info gcc,stack_size 4096; diff --git a/baseboards/mn10300-cygmon.exp b/baseboards/mn10300-cygmon.exp new file mode 100644 index 0000000..86c65e1 --- /dev/null +++ b/baseboards/mn10300-cygmon.exp @@ -0,0 +1,32 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {mn10300-elf} + +# Load the generic configuration for this board. This will define a +# set of generic routines used by the tool to communicate with the +# board. +load_generic_config "mn10300-eval"; + +# It needs no multilib flags by default. +process_multilib_options "" + +set_board_info compiler "[find_gcc]"; +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]"; +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags] [board_info $board addl_link_flags]"; + +# CygMON linker script. +set_board_info ldscript "-Teval.ld" + +# Standard remote protocol. +set_board_info gdb_protocol "remote"; +# We can't do input in GDB (yet! HA!). It *will* do output, hurrah. +set_board_info gdb,noinferiorio 1; +# Or pass arguments. +set_board_info gdb,noargs 1; +set_board_info noargs 1; +# Or do signals. +set_board_info gdb,nosignals 1; + +set_board_info shell_prompt "cygmon>" + + +set_board_info use_gdb_stub 1; diff --git a/baseboards/mn10300-sim.exp b/baseboards/mn10300-sim.exp new file mode 100644 index 0000000..eff6a62 --- /dev/null +++ b/baseboards/mn10300-sim.exp @@ -0,0 +1,41 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {mn10300-elf} + +# 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 "sim" + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim" + +# This is the name of the sim subdir in devo/sim (and in the build tree). +setup_sim mn10300 + +# No multilib flags are set by default. +process_multilib_options "" + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +set_board_info compiler "[find_gcc]" + +# We only support newlib on this target. +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" + +# Simulator linker script. +set_board_info ldscript "-Tsim.ld" + +# The simulator doesn't return exit statuses and we need to indicate this. +set_board_info needs_status_wrapper 1 + +# We can't pass args to the simulator or get exit status back from the +# simulator, nor does the simulator support real signals. +set_board_info noargs 1 +set_board_info gdb,nosignals 1 +set_board_info gdb,noresults 1 +set_board_info gdb,noinferiorio 1 + +# Used by a few gcc.c-torture testcases to delimit how large the stack can +# be. +set_board_info gcc,stack_size 4096; diff --git a/baseboards/msparc-cygmon.exp b/baseboards/msparc-cygmon.exp new file mode 100644 index 0000000..55fc491 --- /dev/null +++ b/baseboards/msparc-cygmon.exp @@ -0,0 +1 @@ +load_base_board_description "cygmon"; diff --git a/baseboards/op50n.exp b/baseboards/op50n.exp new file mode 100644 index 0000000..dee8ca3 --- /dev/null +++ b/baseboards/op50n.exp @@ -0,0 +1,36 @@ +# 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 "proelf"; + +# GDB needs to use "target op50n" to talk to the board. +set_board_info gdb_protocol "op50n"; + +if ![board_info $board exists output_format] { + set tempfil [lookfor_file $tool_root_dir binutils/objcopy]; + if { $tempfil != "" } { + set_board_info objcopy $tempfil + } else { + set_board_info objcopy [transform objcopy] + } + unset tempfil +} + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +set_board_info compiler "[find_gcc]"; +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]"; +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]"; +# It's an op50n board. +set_board_info ldscript "-Wl,-Top50n.ld"; +# The proelf interface has no way to return status information, so we +# need to indicate this. +set_board_info needs_status_wrapper 1; + +# No support for signals. +set_board_info gdb,nosignals 1; +# Nor can we do I/O. +set_board_info gdb,noinferiorio 1; + +# The monitor interface is really slow. +set_board_info gdb,timeout 540; diff --git a/baseboards/powerpc-bug.exp b/baseboards/powerpc-bug.exp new file mode 100644 index 0000000..2428f72 --- /dev/null +++ b/baseboards/powerpc-bug.exp @@ -0,0 +1,29 @@ +load_generic_config "powerpc-bug"; + +# This is a list of toolchains that are supported on this board. +set_board_info target_install {powerpc-eabi}; + +# We need mvme by default. +process_multilib_options "mvme"; + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +set_board_info compiler "[find_gcc]" + +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" + +# No linker script needed for this board. +set_board_info ldscript ""; + +# Can't pass arguments to programs on this target.. +set_board_info noargs 1 +# And there's no support for signals. +set_board_info gdb,nosignals 1 + +# GDB doesn't return exit statuses and we need to indicate this; +# the standard GCC wrapper will work with this target. +set_board_info needs_status_wrapper 1 + +# The GDB protocol for this board is... +set_board_info gdb_protocol "ppcbug" diff --git a/baseboards/powerpc-bug1.exp b/baseboards/powerpc-bug1.exp new file mode 100644 index 0000000..fe25678 --- /dev/null +++ b/baseboards/powerpc-bug1.exp @@ -0,0 +1,5 @@ +# This config uses ppcbug1 protocol in GDB. +set_board_info gdb_protocol "ppcbug1" + +# But otherwise we're the same as powerpc-bug. +load_base_board_description "powerpc-bug" diff --git a/baseboards/powerpc-sim.exp b/baseboards/powerpc-sim.exp new file mode 100644 index 0000000..db579e1 --- /dev/null +++ b/baseboards/powerpc-sim.exp @@ -0,0 +1,28 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {powerpc-eabi} + +# Load the generic configuration for this board, This will define a basic +# set of routines needed by the tool to communicate with the board. +load_generic_config "sim" + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim" + +# The name of the simulator is "ppc". +setup_sim ppc + +# No multilib flags needed by default. +process_multilib_options "" + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +set_board_info compiler "[find_gcc]" + +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "-msim [libgloss_link_flags] [newlib_link_flags]" + +# No support for signals on this target. +set_board_info gdb,nosignals 1; + +# Can't call functions from GDB. +set_board_info gdb,cannot_call_functions 1 diff --git a/baseboards/powerpcle-sim.exp b/baseboards/powerpcle-sim.exp new file mode 100644 index 0000000..20754fa --- /dev/null +++ b/baseboards/powerpcle-sim.exp @@ -0,0 +1,28 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {powerpcle-eabi} + +# Load the generic configuration for this board, This will define a basic +# set of routines needed by the tool to communicate with the board. +load_generic_config "sim" + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim" + +# The name of the simulator is "ppc". +setup_sim ppc + +# No multilib flags needed by default. +process_multilib_options "" + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +set_board_info compiler "[find_gcc]" + +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "-msim [libgloss_link_flags] [newlib_link_flags]" + +# No support for signals on this target. +set_board_info gdb,nosignals 1; + +# Can't call functions from GDB. +set_board_info gdb,cannot_call_functions 1 diff --git a/baseboards/rom68k-idp.exp b/baseboards/rom68k-idp.exp new file mode 100644 index 0000000..4f0d1ad --- /dev/null +++ b/baseboards/rom68k-idp.exp @@ -0,0 +1,69 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {m68k-coff m68k-elf}; + +# Load the generic configuration for this board. This will define any +# routines needed by the tool to communicate with the board. +load_generic_config "rom68k"; + +# Need soft-float by default. +process_multilib_options "-msoft-float" + +# The compiler used to build for this board. Note that this has nothing to do +# with what compiler is tested when testing gcc. +set_board_info compiler "[find_gcc]" + +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]"; + +# Nasty hack. +if { [board_info $board obj_format] == "a.out" } { + # Need to pass the start address to objcopy. + set_board_info use_vma_offset 1; + # Wrapping has to be specially done for m68k-aout, for whatever reason. + set_board_info wrap_m68k_aout 1; + + set extra_m68k_ld_flags "-N -nostdlib " + + # We need to tell GDB to load at the correct offset. + set_board_info gdb_load_offset [board_info $board hex_startaddr]; +} else { + set extra_m68k_ld_flags "" +} + +set_board_info ldflags "$extra_m68k_ld_flags [libgloss_link_flags] [newlib_link_flags]" +unset extra_m68k_ld_flags + + +# If no output format is specified, use objcopy. +if ![board_info $board exists output_format] { + set tempfil [lookfor_file $tool_root_dir binutils/objcopy]; + if { $tempfil != "" } { + set_board_info objcopy $tempfil + } else { + set_board_info objcopy [transform objcopy] + } + unset tempfil +} + +# IDP linker script. +set_board_info ldscript "-Wl,-Tidp.ld"; +# The idt interface can't return exit statuses, so gcc (ctorture et +# al) needs to do what it can to get them. +set_board_info needs_status_wrapper 1; + +# GDB needs to use "target rom68k" to talk to the board. +set_board_info gdb_protocol "rom68k"; + +# Can't pass arguments to the program under test. +set_board_info noargs 1 + +# Nor can it do I/O in GDB. +set_board_info gdb,noinferiorio 1 + +# It has no signals. +set_board_info gdb,nosignals 1 + +# It can't return results when debugging with GDB. +set_board_info gdb,noresults 1 + +# Pseudo-random guess. +set_board_info sys_speed_value 200; diff --git a/baseboards/sh-hms-sim.exp b/baseboards/sh-hms-sim.exp new file mode 100644 index 0000000..69da8d6 --- /dev/null +++ b/baseboards/sh-hms-sim.exp @@ -0,0 +1,48 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {sh-hms} + +# Load the generic configuration for this board. This will define a basic +# set of routines needed by the tool to communicate with the board. +load_generic_config "sim" + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim" + +# The name of the directory in the build tree that the simulator lives in +# is "sh". +setup_sim sh + +# No multilib flags needed by default. +process_multilib_options "" + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +set_board_info compiler "[find_gcc]" + +# We only support newlib on this target. +# However, we include libgloss so we can find the linker scripts. +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]" +set_board_info ldflags "[newlib_link_flags]" +# No linker script for this board. +set_board_info ldscript ""; +# The simulator doesn't return exit statuses and we need to indicate this. +# Doesn't work on SH yet. +# set_board_info needs_status_wrapper 1 +# Can't pass arguments to this target. +set_board_info noargs 1 +# No signals. +set_board_info gdb,nosignals 1 +# And it can't call functions. +set_board_info gdb,cannot_call_functions 1 + +# Used by a few gcc.c-torture testcases to delimit how large the stack can +# be. +set_board_info gcc,stack_size 16384 + +# Need to pass -mieee in order to for the compiler to be IEEE-fp compliant. +set_board_info ieee_multilib_flags "-mieee"; + +#We want to pass "18" to GDB"s "targt sim" command. +set_board_info gdb,target_sim_options "18" +#and the standalone simulator +set_board_info sim,options "-m 18" diff --git a/baseboards/sh-hms.exp b/baseboards/sh-hms.exp new file mode 100644 index 0000000..4653707 --- /dev/null +++ b/baseboards/sh-hms.exp @@ -0,0 +1,47 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {sh-hms} + +# Load the generic configuration for this board. This will define a basic +# set of routines needed by the tool to communicate with the board. +load_generic_config "sh" + +# Default to SH2. +process_multilib_options "-m2" + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +set_board_info compiler "[find_gcc]" + +# We only support newlib on this target. +# However, we include libgloss so we can find the linker scripts. +set_board_info cflags "[newlib_include_flags]" +set_board_info ldflags "[newlib_link_flags] [libgloss_link_flags]" + +# Linker script for the SH2 board. +set_board_info ldscript "-Wl,-Tsh2lcevb.ld" + +# Can't pass arguments to this target. +set_board_info noargs 1 +# And it can't call functions. +set_board_info gdb,cannot_call_functions 1 + +# We use the remote GDB protocol. +set_board_info gdb_protocol "remote" +# Jumping to start is how we get the program started in GDB. +set_board_info gdb_run_command "jump start" +# The remote target uses a GDB stub. +set_board_info use_gdb_stub 1 +# We can't do I/O. +set_board_info gdb,noinferiorio 1 +# Or signals. +set_board_info gdb,nosignals 1 + +# Used by a few gcc.c-torture testcases to delimit how large the stack can +# be. +set_board_info gcc,stack_size 16384 + +# Exit statuses returned from GDB are sometimes faulty. +set_board_info exit_statuses_bad 1 + +# Need to pass -mieee in order to for the compiler to be IEEE-fp compliant. +set_board_info ieee_multilib_flags "-mieee"; diff --git a/baseboards/sparc64-sim.exp b/baseboards/sparc64-sim.exp new file mode 100644 index 0000000..914a571 --- /dev/null +++ b/baseboards/sparc64-sim.exp @@ -0,0 +1,31 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {sparc64-elf} + +# Load the generic configuration for this board. This will define any +# routines needed by the tool to communicate with the board. +load_generic_config "sim" + +# We need this for find_gcc and *_include_flags/*_link_flags. +load_base_board_description "basic-sim" + +# Use long64 by default. +process_multilib_options "long64" + +setup_sim sparc64 + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. +set_board_info compiler "[find_gcc]" +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" +# No linker script. +set_board_info ldscript ""; + +# Used by a few gcc.c-torture testcases to delimit how large the stack can +# be. +set_board_info gcc,stack_size 16384 +# The simulator doesn't return exit statuses and we need to indicate this; +# the standard GCC wrapper will work with this target. +set_board_info needs_status_wrapper 1 +# We can't pass arguments to programs. +set_board_info noargs 1 diff --git a/baseboards/sparclet-aout.exp b/baseboards/sparclet-aout.exp new file mode 100644 index 0000000..153549c --- /dev/null +++ b/baseboards/sparclet-aout.exp @@ -0,0 +1,48 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {sparclet-aout} + +# Load the generic configuration for this board. This will define any +# routines needed by the tool to communicate with the board,. +load_generic_config "sparclet"; + +# It needs broken-saverestore by default. +process_multilib_options "-mbroken-saverestore" + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. +set_board_info compiler "[find_gcc]" +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]" +set_board_info ldflags "-nostdlib [libgloss_link_flags] [newlib_link_flags] -Wl,-Ttext,0x12020000 -N" + +# tsc701 linker script. +set_board_info ldscript "-Ttsc701.ld" + +# The board doesn't return exit statuses and we need to indicate this. +# However, the standard GCC wrapper won't work with this target because +# it doesn't return stuff from printf (). +#set_board_info needs_status_wrapper 1 + +# The monitor uses a GDB stub. +set_board_info use_gdb_stub 1 +# The GDB protocol used to communicate with this board. +set_board_info gdb_protocol "sparclet" +# The offset in memory that we load programs. +set_board_info gdb_load_offset "0x12020000" +# And the place in memory where we load the stub. +set_board_info gdb_stub_offset "0x12010000" +# No mathlib. +set_board_info mathlib ""; +# We can't do I/O in GDB. +set_board_info gdb,noinferiorio 1; +# Or pass arguments. +set_board_info noargs 1; + +set_board_info gcc,no_varargs 1 +set_board_info gcc,no_label_values 1 + +# This is the old GDB prompt for the toolchain. +# Uncomment for old tests +set_board_info gdb_prompt "\\(gdb\\)"; + +# We always have to set a breakpoint at exit(), instead of just _exit(). +set_board_info always_break_exit 1; diff --git a/baseboards/sparclite-coff.exp b/baseboards/sparclite-coff.exp new file mode 100644 index 0000000..61eafc4 --- /dev/null +++ b/baseboards/sparclite-coff.exp @@ -0,0 +1,41 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {sparclite-coff} + +# Load the generic configuration for this board. This will define a +# set of generic routines used by the tool to communicate with the +# board. +load_generic_config "slite"; + +# It needs no multilib flags by default. +process_multilib_options "" + +set_board_info compiler "[find_gcc]"; +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]"; +set_board_info ldflags "-nostdlib [libgloss_link_flags] [newlib_link_flags] -Wl,-Ttext,0x40005000 -N"; + +# ex930 linker script. +set_board_info ldscript "-Tex930.ld"; + +# The address at which the stub needs to be linked. +set_board_info gdb_stub_offset "0x40000000"; + +# The board doesn't return exit statuses and we need to indicate this. +# However, the standard GCC wrapper won't work with this target because +# it doesn't return stuff from printf (). +set_board_info needs_status_wrapper 1; + +# We use a GDB stub to talk to the board. +set_board_info use_gdb_stub 1; +# For GDB, we need to use a real stub (not the separate loader scheme +# we use for Sparclet). +set_board_info gdb_stub ""; +# And the protocol is "sparclite serial". +set_board_info gdb_protocol "sparclite serial"; +# No mathlib. +set_board_info mathlib ""; +# We can't do I/O in GDB. +set_board_info gdb,noinferiorio 1; +# Or pass arguments. +set_board_info noargs 1; +# Or do signals. +set_board_info gdb,nosignals 1; diff --git a/baseboards/sparclite-cygmon.exp b/baseboards/sparclite-cygmon.exp new file mode 100644 index 0000000..956881e --- /dev/null +++ b/baseboards/sparclite-cygmon.exp @@ -0,0 +1,6 @@ +if { [board_info $board obj_format] == "a.out" } { + set_board_info addl_link_flags "-N" + set_board_info gdb_load_offset "0x40050000" +} + +load_base_board_description "cygmon" diff --git a/baseboards/sparclite-sim-le.exp b/baseboards/sparclite-sim-le.exp new file mode 100644 index 0000000..5daec2e --- /dev/null +++ b/baseboards/sparclite-sim-le.exp @@ -0,0 +1,47 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {sparclite-elf} + +# Load the generic configuration for this board. This will define a +# set of generic routines used by the tool to communicate with the +# board. +load_generic_config "sim"; + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim"; + +if ![info exists board_info($board,multilib_flags)] { + set board_info($board,multilib_flags) "-mlittle-endian-data" +} + +# This tells it which directory to look in for the simulator. +setup_sim erc32; + +# It needs no multilib flags by default. +process_multilib_options "" + +set_board_info compiler "[find_gcc]"; +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]"; +set_board_info ldflags "-nostdlib -nostartfiles [libgloss_link_flags] [newlib_link_flags]"; + +# ELF simulator linker script. +set_board_info ldscript "-Telfsim.ld"; + +# The simulator doesn't return exit statuses and we need to indicate this. +set_board_info needs_status_wrapper 1; + +# We use a GDB stub to talk to the board. +# set_board_info use_gdb_stub 1; +# For GDB, we need to use a real stub (not the separate loader scheme +# we use for Sparclet). +# set_board_info gdb_stub ""; +# No mathlib. +# set_board_info mathlib ""; +# We can't do I/O in GDB. +# set_board_info gdb,noinferiorio 1; +# Or pass arguments. +set_board_info noargs 1; +# Or do signals. +set_board_info gdb,nosignals 1; + +#We want to specify the sparclite emulator in GDB. +set_board_info gdb,target_sim_options "-sparclite" diff --git a/baseboards/sparclite-sim.exp b/baseboards/sparclite-sim.exp new file mode 100644 index 0000000..a977ffa --- /dev/null +++ b/baseboards/sparclite-sim.exp @@ -0,0 +1,37 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {sparclite-elf} + +# Load the generic configuration for this board. This will define a +# set of generic routines used by the tool to communicate with the +# board. +load_generic_config "sim"; + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim"; + +# This tells it which directory to look in for the simulator. +setup_sim erc32; + +# It needs no multilib flags by default. +process_multilib_options "" + +set_board_info compiler "[find_gcc]"; +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]"; +set_board_info ldflags "-nostdlib -nostartfiles [libgloss_link_flags] [newlib_link_flags]"; + +# ELF simulator linker script. +set_board_info ldscript "-Telfsim.ld"; + +# The simulator doesn't return exit statuses and we need to indicate this. +set_board_info needs_status_wrapper 1; + +# We can't pass arguments. +set_board_info noargs 1; +# Or do signals. +set_board_info gdb,nosignals 1; + +# We want to specify the sparclite emulator in GDB. +set_board_info gdb,target_sim_options "-sparclite" + +# Pass -a -sparclite to the standalone simulator +set_board_info sim,options "-a -sparclite" diff --git a/baseboards/strongarm-cygmon.exp b/baseboards/strongarm-cygmon.exp new file mode 100644 index 0000000..8e41199 --- /dev/null +++ b/baseboards/strongarm-cygmon.exp @@ -0,0 +1,41 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {strongarm-elf} + +# Load the generic configuration for this board. This will define a +# set of generic routines used by the tool to communicate with the +# board. +load_generic_config "cygmon"; + +# It needs no multilib flags by default. +process_multilib_options "" + +set_board_info compiler "[find_gcc]"; +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]"; +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags] [board_info $board addl_link_flags]"; + +# CygMON linker script. + +if {[string compare [board_info $board boardtype] "sa1100dp"] == 0} { + set_board_info ldscript "-specs=sa1100dp.specs" +} elseif {[string compare [board_info $board boardtype] "sa1100mm"] == 0} { + set_board_info ldscript "-specs=sa1100mm.specs" +} elseif {[string compare [board_info $board boardtype] "sa-iop"] == 0} { + set_board_info ldscript "-specs=sa-iop.specs" +} elseif {[string compare [board_info $board boardtype] "ebsa-285"] == 0} { + set_board_info ldscript "-specs=ebsa-285.specs" +} + +# Standard remote protocol. +set_board_info gdb_protocol "remote"; +# We can't do input in GDB (yet! HA!). It *will* do output, hurrah. +set_board_info gdb,noinferiorio 1; +# Or pass arguments. +set_board_info gdb,noargs 1; +set_board_info noargs 1; +# Or do signals. +set_board_info gdb,nosignals 1; + +set_board_info shell_prompt "cygmon>" + +set_board_info use_gdb_stub 1; +set_board_info use_cygmon 1 diff --git a/baseboards/tic80-sim.exp b/baseboards/tic80-sim.exp new file mode 100644 index 0000000..dc2cecc --- /dev/null +++ b/baseboards/tic80-sim.exp @@ -0,0 +1,28 @@ +# Load the generic configuration for this board. This will define a basic +# set of routines needed by the tool to communicate with the board. +load_generic_config "sim"; + +# basic-sim.exp is a basic description for the standard Cygnus simulator. +load_base_board_description "basic-sim"; + +# This tells it which directory to look in for the simulator. +setup_sim tic80; + +# No multilib flags are set by default. +process_multilib_options ""; + +# The compiler used to build for this board. This has *nothing* to do +# with what compiler is tested if we're testing gcc. +set_board_info compiler "[find_gcc]"; + +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]"; +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]"; +# No linker script is needed. +# set_board_info ldscript ""; + +# And, it can't do arguments, and doesn't have real signals. +set_board_info noargs 1; +set_board_info gdb,nosignals 1; + +# Used by a few gcc.c-torture testcases when trampolines are used. +set_board_info gcc,no_varargs 1 diff --git a/baseboards/tx39-dve.exp b/baseboards/tx39-dve.exp new file mode 100644 index 0000000..8973e43 --- /dev/null +++ b/baseboards/tx39-dve.exp @@ -0,0 +1,48 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {mips-tx39-elf mips-elf} + +# Load the generic configuration for this board. This will define a basic +# set of routines needed by the tool to communicate with the board. +if { [board_info $board cygmon] == "yes" } { + load_generic_config "cygmon"; +} else { + load_generic_config "dve"; +} + +# It's a big-endian board. +process_multilib_options "big-endian" + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. +set_board_info compiler "[find_gcc]" +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" +# DDB linker script. +set_board_info ldscript "-Wl,-Tdve.ld"; + +# GDB doesn't return exit statuses and we need to indicate this; +# the standard GCC wrapper will work with this target. +set_board_info needs_status_wrapper 1; + +# The GDB protocol used with this board. +if { [board_info $board cygmon] == "yes" } { + set_board_info gdb_protocol "remote" +} else { + set_board_info gdb_protocol "r3900" +} + +# This is needed for compiling nullstone. +set_board_info nullstone,lib "mips-clock.c" +set_board_info nullstone,ticks_per_sec 3782018 + +# Sometimes the board gets into a state where it always generates SIGFPE. +#set_board_info unreliable 1 + +# Can't pass arguments to the program. +set_board_info noargs 1 + +# No support for signals. +set_board_info gdb,nosignals 1 + +# We need to clear the floating-point status register before running. +#set_board_info gdb_init_command "print/x \$fsr = 0x0" diff --git a/baseboards/tx39-sim.exp b/baseboards/tx39-sim.exp new file mode 100644 index 0000000..20fc722 --- /dev/null +++ b/baseboards/tx39-sim.exp @@ -0,0 +1,3 @@ +# This file is unnecessary, but we'll keep it for now. +# We're the same as the standard MIPS simulator. +load_base_board_description "mips-sim"; diff --git a/baseboards/unix.exp b/baseboards/unix.exp new file mode 100644 index 0000000..98d1ec1 --- /dev/null +++ b/baseboards/unix.exp @@ -0,0 +1,8 @@ +# The canonical unix board description. +load_generic_config "unix"; + +process_multilib_options ""; + +set_board_info compiler "[find_gcc]"; + +set_board_info bmk,use_alarm 1; diff --git a/baseboards/usparc-cygmon.exp b/baseboards/usparc-cygmon.exp new file mode 100644 index 0000000..f827c60 --- /dev/null +++ b/baseboards/usparc-cygmon.exp @@ -0,0 +1,48 @@ +load_base_board_description "cygmon"; + +set_board_info testcase_timeout 30; + +proc ${board}_init { dest } { + global usparc_init_count; + set shell_prompt [board_info $dest shell_prompt]; + + if ![info exists usparc_init_count] { + set usparc_init_count 0; + } else { + incr usparc_init_count; + if { $usparc_init_count == 3 } { + return -1; + } + + } + remote_close $dest; + set shell_id [remote_open $dest]; + if { $shell_id == "" || $shell_id < 0 } { + return [remote_reboot $dest]; + } else { + remote_binary $dest; + remote_send $dest "\n"; + set got_one 0; + remote_expect $dest 5 { + -re "$shell_prompt" { set got_one 1; exp_continue; } + default { + if { ! $got_one } { + remote_close $dest; + return [remote_reboot $dest]; + } + } + } + remote_send $dest "m \[15\]1fff1001f00 32\n"; + remote_expect $dest 5 { + -re "$shell_prompt" { + unset usparc_init_count; + remote_close $dest; + return 0; + } + default { + remote_close $dest; + return [remote_reboot $dest]; + } + } + } +} diff --git a/baseboards/v850-sim.exp b/baseboards/v850-sim.exp new file mode 100644 index 0000000..cb7a70a --- /dev/null +++ b/baseboards/v850-sim.exp @@ -0,0 +1,31 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {v850-elf} + +# Load the generic configuration for this board. This will define any +# routines needed by the tool to communicate with the board. +load_generic_config "sim" + +# We need this for find_gcc and *_include_flags/*_link_flags. +load_base_board_description "basic-sim" + +# No multilib flags needed for this target. +process_multilib_options "" + +setup_sim v850 + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. +set_board_info compiler "[find_gcc]" +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" +# DDB linker script. +set_board_info ldscript ""; + +# The simulator doesn't return exit statuses and we need to indicate this; +# the standard GCC wrapper will work with this target. +set_board_info needs_status_wrapper 1 +# We can't pass arguments to programs. +set_board_info noargs 1 + +# And we don't support signals. +set_board_info gdb,nosignals 1 diff --git a/baseboards/vr4100-ddb.exp b/baseboards/vr4100-ddb.exp new file mode 100644 index 0000000..e959a66 --- /dev/null +++ b/baseboards/vr4100-ddb.exp @@ -0,0 +1,33 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {mips64vr4100-elf mips64-elf} + +# It's a little-endian board. +process_multilib_options "-EL -msoft-float" + +set_board_info startaddr "a0020000" +set_board_info hex_startaddr "0xa0020000" + +# Load the generic configuration for this board. This will define a basic +# set of routines needed by the tool to communicate with the board. +load_generic_config "vr4100" + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. +set_board_info compiler "[find_gcc]" +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" +# DDB linker script. +set_board_info ldscript "-Wl,-Tpmon.ld" + +# GDB doesn't return exit statuses and we need to indicate this; +# the standard GCC wrapper will work with this target. +set_board_info needs_status_wrapper 1 + +# The GDB protocol used with this board. +set_board_info gdb_protocol "ddb" + +set_board_info reboot_delay 10 + +# This board is unreliable. If a test times out, the board should be +# rebooted and the test re-run. +set_board_info unreliable 1 diff --git a/baseboards/vr4100-sim.exp b/baseboards/vr4100-sim.exp new file mode 100644 index 0000000..c3b278a --- /dev/null +++ b/baseboards/vr4100-sim.exp @@ -0,0 +1,12 @@ +# DDB linker script. +if { [board_info $board obj_format] == "ecoff" } { + set_board_info ldscript "-Wl,-Tddbecoff.ld" +} else { + set_board_info ldscript "-Wl,-Tddb.ld" +} + +# And the simulator doesn't reliably return exit statuses. +set_board_info needs_status_wrapper 1 + +# Otherwise, we're a standard MIPS config. +load_base_board_description "mips64-sim"; diff --git a/baseboards/vr4111-sim.exp b/baseboards/vr4111-sim.exp new file mode 100644 index 0000000..c3b278a --- /dev/null +++ b/baseboards/vr4111-sim.exp @@ -0,0 +1,12 @@ +# DDB linker script. +if { [board_info $board obj_format] == "ecoff" } { + set_board_info ldscript "-Wl,-Tddbecoff.ld" +} else { + set_board_info ldscript "-Wl,-Tddb.ld" +} + +# And the simulator doesn't reliably return exit statuses. +set_board_info needs_status_wrapper 1 + +# Otherwise, we're a standard MIPS config. +load_base_board_description "mips64-sim"; diff --git a/baseboards/vr4300-ddb.exp b/baseboards/vr4300-ddb.exp new file mode 100644 index 0000000..a25afb8 --- /dev/null +++ b/baseboards/vr4300-ddb.exp @@ -0,0 +1,19 @@ +# Danger, Will Robinson! Settings in this file do not override +# previous settings for the board being defined. + +# DDB linker script. +if { [board_info $board obj_format] == "ecoff" } { + set_board_info ldscript "-Wl,-Tddbecoff.ld" +} else { + set_board_info ldscript "-Wl,-Tddb.ld" +} + +# This is needed for compiling nullstone. +set_board_info nullstone,lib "mips-clock.c" +set_board_info nullstone,ticks_per_sec 3782018 + +# The GDB protocol used with this board. +set_board_info gdb_protocol "ddb" + +# Otherwise, we're the same as a generic vr4300 board. +load_base_board_description "vr4300"; diff --git a/baseboards/vr4300-sim.exp b/baseboards/vr4300-sim.exp new file mode 100644 index 0000000..c3b278a --- /dev/null +++ b/baseboards/vr4300-sim.exp @@ -0,0 +1,12 @@ +# DDB linker script. +if { [board_info $board obj_format] == "ecoff" } { + set_board_info ldscript "-Wl,-Tddbecoff.ld" +} else { + set_board_info ldscript "-Wl,-Tddb.ld" +} + +# And the simulator doesn't reliably return exit statuses. +set_board_info needs_status_wrapper 1 + +# Otherwise, we're a standard MIPS config. +load_base_board_description "mips64-sim"; diff --git a/baseboards/vr4300.exp b/baseboards/vr4300.exp new file mode 100644 index 0000000..a89f943 --- /dev/null +++ b/baseboards/vr4300.exp @@ -0,0 +1,41 @@ +# Danger, Will Robinson! Settings in this file do not override +# previous settings for the board being defined. + +# This is a list of toolchains that are supported on this board. +set_board_info target_install {mips64vr4300-elf mips64-elf} + +# Load the generic configuration for this board. This will define a basic +# set of routines needed by the tool to communicate with the board. +load_generic_config "vr4300" + +# It's a little-endian board. +process_multilib_options "little-endian" + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. +set_board_info compiler "[find_gcc]" +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" +# IDT linker script. +set_board_info ldscript "-Wl,-Tidt.ld" + +# GDB doesn't return exit statuses and we need to indicate this; +# the standard GCC wrapper will work with this target. +set_board_info needs_status_wrapper 1 + +# The GDB protocol used with this board. +set_board_info gdb_protocol "mips" + +# This board is unreliable. If a test times out, the board should be +# rebooted and the test re-run. +set_board_info unreliable 1 + +# Can't pass arguments to the program. +set_board_info noargs 1 + +# No support for signals. +set_board_info gdb,nosignals 1 + +# We need to clear the floating-point status register before running. +# This command will be sent after connecting to the board. +set_board_info gdb_init_command "print/x \$fsr = 0x0" diff --git a/baseboards/vr5000-ddb.exp b/baseboards/vr5000-ddb.exp new file mode 100644 index 0000000..8cf4b0f --- /dev/null +++ b/baseboards/vr5000-ddb.exp @@ -0,0 +1,40 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {mips64vr5000-elf mips64-elf} + +# Load the generic configuration for this board. This will define a basic +# set of routines needed by the tool to communicate with the board. +load_generic_config "vr5000"; + +# It's a big-endian board. +process_multilib_options "big-endian" + +# We only support newlib on this target. We assume that all multilib +# options have been specified before we get here. +set_board_info compiler "[find_gcc]" +set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]" +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]" +# DDB linker script. +set_board_info ldscript "-Wl,-Tddb.ld"; + +# GDB doesn't return exit statuses and we need to indicate this; +# the standard GCC wrapper will work with this target. +set_board_info needs_status_wrapper 1; + +# The GDB protocol used with this board. +set_board_info gdb_protocol "ddb"; + +# This is needed for compiling nullstone. +set_board_info nullstone,lib "mips-clock.c" +set_board_info nullstone,ticks_per_sec 3782018 + +# Sometimes the board gets into a state where it always generates SIGFPE. +set_board_info unreliable 1 + +# Can't pass arguments to the program. +set_board_info noargs 1 + +# No support for signals. +set_board_info gdb,nosignals 1 + +# We need to clear the floating-point status register before running. +set_board_info gdb_init_command "print/x \$fsr = 0x0" diff --git a/baseboards/vx4300.exp b/baseboards/vx4300.exp new file mode 100644 index 0000000..2547b1c --- /dev/null +++ b/baseboards/vx4300.exp @@ -0,0 +1,25 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {mips-vxworks5.3} + +# Load the generic configuration for this board. This will define any +# routines needed by the tool to communicate with the board. +load_generic_config "vxworks"; + +# No multilib flags by default. +process_multilib_options ""; + +# The compiler used to build for this board. Note that this has nothing to do +# with what compiler is tested when testing gcc. +set_board_info compiler "[find_gcc]"; + +# These are probably wrong. +set_board_info cflags "-EL"; +# vxworks 5.1 needs the executable to be relinkable. +set_board_info ldflags "-nostdlib -r"; +set_board_info libs "-lgcc"; + +# No linker script needed. +set_board_info ldscript ""; + +# GDB needs to use "target vxworks" to talk to the board. +set_board_info gdb_protocol "vxworks"; diff --git a/baseboards/vx68k.exp b/baseboards/vx68k.exp new file mode 100644 index 0000000..d79f5bd --- /dev/null +++ b/baseboards/vx68k.exp @@ -0,0 +1,25 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {m68k-vxworks5.1 m68k-vxworks5.2} + +# Load the generic configuration for this board. This will define any +# routines needed by the tool to communicate with the board. +load_generic_config "vxworks"; + +# No multilib flags by default. +process_multilib_options ""; + +# The compiler used to build for this board. Note that this has nothing to do +# with what compiler is tested when testing gcc. +set_board_info compiler "[find_gcc]"; + +# These are probably wrong. +set_board_info cflags ""; +# vxworks 5.1 needs the executable to be relinkable. +set_board_info ldflags "-nostdlib -r"; +set_board_info libs "-lgcc"; + +# No linker script needed. +set_board_info ldscript ""; + +# GDB needs to use "target vxworks" to talk to the board. +set_board_info gdb_protocol "vxworks"; diff --git a/baseboards/vx960.exp b/baseboards/vx960.exp new file mode 100644 index 0000000..e25c79d --- /dev/null +++ b/baseboards/vx960.exp @@ -0,0 +1,29 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {i960-vxworks5.1 i960-vxworks5.2} + +# Load the generic configuration for this board. This will define any +# routines needed by the tool to communicate with the board. +load_generic_config "vxworks"; + +# No multilib flags by default. +process_multilib_options ""; + +# The compiler used to build for this board. Note that this has nothing to do +# with what compiler is tested when testing gcc. +set_board_info compiler "[find_gcc]"; + +# These are probably wrong, but at least it is configurable now. +if { [board_info $board cpu] == "I960CA" } { + set_board_info cflags "-mca"; +} else { + set_board_info cflags ""; +} +# vxworks 5.1 needs the executable to be relinkable. +set_board_info ldflags "-nostdlib -r"; +set_board_info libs "-lgcc"; + +# No linker script needed. +set_board_info ldscript ""; + +# GDB needs to use "target vxworks" to talk to the board. +set_board_info gdb_protocol "vxworks"; diff --git a/baseboards/vxsparc.exp b/baseboards/vxsparc.exp new file mode 100644 index 0000000..c943e70 --- /dev/null +++ b/baseboards/vxsparc.exp @@ -0,0 +1,25 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {sparc-vxworks5.1 sparc-vxworks5.2} + +# Load the generic configuration for this board. This will define any +# routines needed by the tool to communicate with the board. +load_generic_config "vxworks"; + +# No multilib flags by default. +process_multilib_options ""; + +# The compiler used to build for this board. Note that this has nothing to do +# with what compiler is tested when testing gcc. +set_board_info compiler "[find_gcc]"; + +# These are probably right. +set_board_info cflags ""; +# vxworks 5.1 needs the executable to be relinkable. +set_board_info ldflags "-nostdlib -r"; +set_board_info libs "-lgcc"; + +# No linker script needed. +set_board_info ldscript ""; + +# GDB needs to use "target vxworks" to talk to the board. +set_board_info gdb_protocol "vxworks"; diff --git a/baseboards/x86-cygmon.exp b/baseboards/x86-cygmon.exp new file mode 100644 index 0000000..45f2422 --- /dev/null +++ b/baseboards/x86-cygmon.exp @@ -0,0 +1,11 @@ +load_base_board_description "cygmon"; + +# Default to ELF. +if { [board_info $board obj_format] == "a.out" } { + set_board_info gdb,start_symbol "_start" +} elseif { [board_info $board obj_format] == "coff" } { + set_board_info gdb,start_symbol "__start" +} else { + set_board_info gdb,start_symbol "__start" +} + diff --git a/baseboards/xscale-cygmon.exp b/baseboards/xscale-cygmon.exp new file mode 100644 index 0000000..b7c28de --- /dev/null +++ b/baseboards/xscale-cygmon.exp @@ -0,0 +1,37 @@ +# This is a list of toolchains that are supported on this board. +set_board_info target_install {xscale-elf} + +# Load the generic configuration for this board. This will define a +# set of generic routines used by the tool to communicate with the +# board. +load_generic_config "cygmon"; + +# It needs no multilib flags by default. +process_multilib_options "" + +set_board_info compiler "[find_gcc]"; +set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]"; +set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags] [board_info $board addl_link_flags]"; + +# CygMON linker script. + +if {[string compare [board_info $board boardtype] "xaret"] == 0} { + set_board_info ldscript "-specs=xaret.specs" +} elseif {[string compare [board_info $board boardtype] "iq80310"] == 0} { + set_board_info ldscript "-specs=iq80310.specs" +} + +# Standard remote protocol. +set_board_info gdb_protocol "remote"; +# We can't do input in GDB (yet! HA!). It *will* do output, hurrah. +set_board_info gdb,noinferiorio 1; +# Or pass arguments. +set_board_info gdb,noargs 1; +set_board_info noargs 1; +# Or do signals. +set_board_info gdb,nosignals 1; + +set_board_info shell_prompt "cygmon>" + +set_board_info use_gdb_stub 1; +set_board_info use_cygmon 1 |