diff options
Diffstat (limited to 'dejagnu/baseboards/h8300.exp')
-rw-r--r-- | dejagnu/baseboards/h8300.exp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/dejagnu/baseboards/h8300.exp b/dejagnu/baseboards/h8300.exp new file mode 100644 index 00000000000..f42dbb04ba0 --- /dev/null +++ b/dejagnu/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 |