1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009, 2010 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 2 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.
# Load the tool-specific configuration for this board, as well as the
# generic configuration. This will define any routines needed by the
# tool to communicate with the board.
load_generic_config "h8300"
# Don't use anything by default.
process_multilib_options ""
# The default compiler for this target.
set_board_info compiler "[find_gcc]"
# We only support newlib on this target. We assume that all multilib
# options have been specified before we get here.
set_board_info cflags "[newlib_include_flags]"
set_board_info ldflags "[newlib_link_flags]"
# The GDB protocol used with this board.
set_board_info gdb_protocol "remote"
# It's running a GDB stub in ROM.
set_board_info use_gdb_stub 1
# There's no support for argument-passing.
set_board_info noargs 1
# Nor does it have real signals.
set_board_info gdb,nosignals 1
# And it can't do I/O.
set_board_info gdb,noinferiorio 1
# Nor can it return results.
set_board_info gdb,noresults 1
# Limit the stack size to something real tiny.
set_board_info gcc,stack_size 4096
# The board can get wedged in amusing and interesting ways.
set_board_info unreliable 1
# There's no long long support on this target
set_board_info no_long_long 1
# sizeof int != sizeof long.
set_board_info gdb,short_int 1
# Pick the right linker script if -mh/-ms is specified.
set linker_script "h8300.ld"
foreach x $board_variant_list {
regsub -all "^\[ \t\]*" "$x" "" x
regsub -all "\[ \t\]*$" "$x" "" x
switch -- $x {
"h" -
"-mh" { set linker_script "h8300h.ld" }
"s" -
"-ms" { set linker_script "h8300s.ld" }
}
}
# Whee, magic linker scripts hidden away.
#
# This one's dependent on the multilib options in use, sadly. And we
# *need* a linker script. Really. Otherwise the code gets linked at
# the wrong address and it won't run on the board.
set_board_info ldscript "-T${prefix_dir}/h8300-hms/${linker_script}"
unset linker_script
|