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
, see
<http
://www.gnu.org
/licenses
/>.
18 # This is a list of toolchains that are supported
on this board.
19 set_board_info target_install
{pru
-elf
}
21 #
Load the generic configuration
for this board
, This will
define a basic
22 #
set of routines needed by the tool to communicate with the board.
23 load_generic_config
"sim"
25 # basic
-sim.exp is a basic description
for the standard Cygnus simulator.
26 load_base_board_description
"basic-sim"
28 # The
name of the simulator is
"pru".
31 # No multilib flags needed by default.
32 process_multilib_options
""
34 # The compiler used to build
for this board. This has
*nothing
* to
do
35 # with what compiler is tested
if we
're testing gcc.
36 set_board_info compiler "[find_gcc]"
38 # PRU arguments are mostly passed in registers. But GCC regression tests
39 # are written with other machines in mind, so the builtin_apply's
40 # aruments stack size is non
-zero.
On top of that
, the stack top
for
41 # PRU
's main is very close to the end of SRAM. Close enough that the
42 # spurious "stack copy" reads outside of the DRAM area, causing a
43 # simulator abort. For example, see how builtin-apply-3.c copies 16
44 # bytes from the arguments stack, while PRU has passed all of its
45 # arguments in registers.
47 # Temporary solution is to add a few bytes of "guard" space, so that
48 # existing GCC testcases can be executed successfully. Hence set the
49 # stack top a few bytes below the simulator's DRAM end.
50 set workaround_ldflags
"-Wl,--defsym=_stack_top=0x3fff800"
52 set_board_info cflags
"-mmcu=sim [libgloss_include_flags] [newlib_include_flags]"
53 set_board_info ldflags
"[libgloss_link_flags] [newlib_link_flags] $workaround_ldflags"
55 # No support
for signals
on this target.
56 set_board_info gdb
,nosignals
1
58 # Low
-end workstations might require even larger timeouts.