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