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".
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.