aboutsummaryrefslogtreecommitdiff
path: root/baseboards
diff options
context:
space:
mode:
authorRob Savoye <rob@welcomehome.org>2005-02-21 21:55:17 +0000
committerRob Savoye <rob@welcomehome.org>2005-02-21 21:55:17 +0000
commit5d9ad98651822ba083f0d043b4d6a19bd84a40c0 (patch)
treeea242beaad09d6bf259ffd6b2b418e636f0878e6 /baseboards
parent3b621ff766f3cc4edcb774d55b978b41071e6aae (diff)
2005-01-29 Hans-Peter Nilsson <hp@axis.com>
* baseboards/cris-sim.exp: New file.
Diffstat (limited to 'baseboards')
-rw-r--r--baseboards/cris-sim.exp64
1 files changed, 64 insertions, 0 deletions
diff --git a/baseboards/cris-sim.exp b/baseboards/cris-sim.exp
new file mode 100644
index 0000000..a3c8848
--- /dev/null
+++ b/baseboards/cris-sim.exp
@@ -0,0 +1,64 @@
+# This is a list of toolchains that are supported on this board.
+set_board_info target_install {cris-elf crisv32-elf cris-aout cris-linux-gnu crisv32-linux-gnu}
+
+# 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 sim subdir in src/sim.
+setup_sim cris
+
+# This simulator isn't slow.
+set_board_info slow_simulator 0
+
+# No multilib options needed by default.
+process_multilib_options ""
+
+set cris_ldopt "-sim3"
+set cris_simopt ""
+
+if [istarget *-*-linux*] {
+ set cris_ldopt "-static"
+}
+
+# Support different multilibs and targets.
+foreach x $board_variant_list {
+ regsub -all "^\[ \t\]*" "$x" "" x;
+ regsub -all "\[ \t\]*$" "$x" "" x;
+
+ case $x in {
+ # We force the arch to either pre-v32 (i.e. v10) or v32 for the
+ # "common" compatible subset, by letting the otherwise
+ # functionally equivalent gcc options "-march=..." and
+ # "-mcpu=..." control that. (We don't have to force the
+ # architecture, but it's easier to make sure we can check that
+ # the "common" subset doesn't lose the compatibility.)
+
+ # Mnemonic: "a" is 10.
+ { arch=common_v10_v32 -march=common_v10_v32 } {
+ set cris_simopt "--architecture cris"
+ }
+
+ # Mnemonic: "c" is... eh... comes after 10!
+ { cpu=common_v10_v32 -mcpu=common_v10_v32 } {
+ set cris_simopt "--architecture crisv32"
+ }
+ }
+}
+
+if { ![board_info $board exists sim,options] && $cris_simopt != "" } {
+ set_board_info sim,options $cris_simopt
+}
+
+# Other than an already-installed glibc, 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] $cris_ldopt"
+# No linker script needed.
+set_board_info ldscript ""