diff options
Diffstat (limited to 'dejagnu/baseboards/rom68k-idp.exp')
-rw-r--r-- | dejagnu/baseboards/rom68k-idp.exp | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/dejagnu/baseboards/rom68k-idp.exp b/dejagnu/baseboards/rom68k-idp.exp new file mode 100644 index 00000000000..bdf29def7ca --- /dev/null +++ b/dejagnu/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" + + # 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 -nostdlib [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; |