Replace non-portable Awk code in dejagnu auxiliary launcher
[dejagnu.git] / baseboards / pru-sim.exp
blob40c597ee1d502a7ff2ff323c0e335e31cb8e97be
1 # Copyright (C) 1997-2020 Free Software Foundation, Inc.
3 # This file is part of DejaGnu.
5 # DejaGnu is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 3 of the License, or
8 # (at your option) any later version.
10 # DejaGnu is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 # General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with DejaGnu; if not, write to the Free Software Foundation,
17 # Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
19 # This is a list of toolchains that are supported on this board.
20 set_board_info target_install {pru-elf}
22 # Load the generic configuration for this board, This will define a basic
23 # set of routines needed by the tool to communicate with the board.
24 load_generic_config "sim"
26 # basic-sim.exp is a basic description for the standard Cygnus simulator.
27 load_base_board_description "basic-sim"
29 # The name of the simulator is "pru".
30 setup_sim pru
32 # No multilib flags needed by default.
33 process_multilib_options ""
35 # The compiler used to build for this board. This has *nothing* to do
36 # with what compiler is tested if we're testing gcc.
37 set_board_info compiler "[find_gcc]"
39 # PRU arguments are mostly passed in registers. But GCC regression tests
40 # are written with other machines in mind, so the builtin_apply's
41 # aruments stack size is non-zero. On top of that, the stack top for
42 # PRU's main is very close to the end of SRAM. Close enough that the
43 # spurious "stack copy" reads outside of the DRAM area, causing a
44 # simulator abort. For example, see how builtin-apply-3.c copies 16
45 # bytes from the arguments stack, while PRU has passed all of its
46 # arguments in registers.
48 # Temporary solution is to add a few bytes of "guard" space, so that
49 # existing GCC testcases can be executed successfully. Hence set the
50 # stack top a few bytes below the simulator's DRAM end.
51 set workaround_ldflags "-Wl,--defsym=_stack_top=0x3fff800"
53 set_board_info cflags "-mmcu=sim [libgloss_include_flags] [newlib_include_flags]"
54 set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags] $workaround_ldflags"
56 # No support for signals on this target.
57 set_board_info gdb,nosignals 1
59 # Low-end workstations might require even larger timeouts.
60 set timeout 120