OLD | NEW |
1 # Copyright 2011-2012 Free Software Foundation, Inc. | 1 # Copyright 2011-2013 Free Software Foundation, Inc. |
2 | 2 |
3 # This program is free software; you can redistribute it and/or modify | 3 # This program is free software; you can redistribute it and/or modify |
4 # it under the terms of the GNU General Public License as published by | 4 # it under the terms of the GNU General Public License as published by |
5 # the Free Software Foundation; either version 3 of the License, or | 5 # the Free Software Foundation; either version 3 of the License, or |
6 # (at your option) any later version. | 6 # (at your option) any later version. |
7 # | 7 # |
8 # This program is distributed in the hope that it will be useful, | 8 # This program is distributed in the hope that it will be useful, |
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
11 # GNU General Public License for more details. | 11 # GNU General Public License for more details. |
12 # | 12 # |
13 # You should have received a copy of the GNU General Public License | 13 # You should have received a copy of the GNU General Public License |
14 # along with this program. If not, see <http://www.gnu.org/licenses/>. | 14 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
15 | 15 |
16 # This file is a dejagnu "board file" and is used to run the testsuite | 16 # This file is a dejagnu "board file" and is used to run the testsuite |
17 # natively with gdbserver. | 17 # natively with gdbserver. |
18 # | 18 # |
19 # To use this file: | 19 # To use this file: |
20 # bash$ touch ${my_dejagnu_dir}/my-dejagnu.exp | |
21 # bash$ export DEJAGNU=${my_dejagnu_dir}/my-dejagnu.exp | |
22 # bash$ mkdir ${my_dejagnu_dir}/boards | |
23 # bash$ cp ${src_dir}/gdb/testsuite/boards/native-gdbserver.exp \ | |
24 # ${my_dejagnu_dir}/boards | |
25 # bash$ cd ${build_dir}/gdb | 20 # bash$ cd ${build_dir}/gdb |
26 # bash$ make check RUNTESTFLAGS="--target_board=native-gdbserver" | 21 # bash$ make check RUNTESTFLAGS="--target_board=native-gdbserver" |
27 | 22 |
28 load_generic_config "gdbserver" | 23 load_generic_config "gdbserver" |
29 process_multilib_options "" | 24 load_board_description "gdbserver-base" |
30 | |
31 # The default compiler for this target. | |
32 set_board_info compiler "[find_gcc]" | |
33 | 25 |
34 # This gdbserver can only run a process once per session. | 26 # This gdbserver can only run a process once per session. |
35 set_board_info gdb,do_reload_on_run 1 | 27 set_board_info gdb,do_reload_on_run 1 |
36 | 28 |
37 # There's no support for argument-passing (yet). | 29 # There's no support for argument-passing (yet). |
38 set_board_info noargs 1 | 30 set_board_info noargs 1 |
39 | 31 |
40 # Can't do input (or output) in the current gdbserver. | |
41 set_board_info gdb,noinferiorio 1 | |
42 | |
43 # gdbserver does not intercept target file operations and perform them | |
44 # on the host. | |
45 set_board_info gdb,nofileio 1 | |
46 | |
47 set_board_info sockethost "localhost:" | 32 set_board_info sockethost "localhost:" |
48 set_board_info use_gdb_stub 1 | 33 set_board_info use_gdb_stub 1 |
| 34 set_board_info exit_is_reliable 1 |
49 | 35 |
50 # We will be using the standard GDB remote protocol. | 36 # We will be using the standard GDB remote protocol. |
51 set_board_info gdb_protocol "remote" | 37 set_board_info gdb_protocol "remote" |
52 # Test the copy of gdbserver in the build directory. | |
53 set_board_info gdb_server_prog "../gdbserver/gdbserver" | |
54 | 38 |
55 proc ${board}_spawn { board cmd } { | 39 proc ${board}_spawn { board cmd } { |
56 global board_info | 40 global board_info |
57 | 41 |
58 set baseboard [lindex [split $board "/"] 0] | 42 set baseboard [lindex [split $board "/"] 0] |
59 | 43 |
60 set board_info($baseboard,isremote) 0 | 44 set board_info($baseboard,isremote) 0 |
61 set result [remote_spawn $board $cmd] | 45 set result [remote_spawn $board $cmd] |
62 set board_info($baseboard,isremote) 1 | 46 set board_info($baseboard,isremote) 1 |
63 | 47 |
64 return $result | 48 return $result |
65 } | 49 } |
66 | 50 |
67 proc ${board}_exec { hostname program args } { | 51 proc ${board}_exec { hostname program args } { |
68 global board_info | 52 global board_info |
69 | 53 |
70 set baseboard [lindex [split $hostname "/"] 0] | 54 set baseboard [lindex [split $hostname "/"] 0] |
71 | 55 |
72 set board_info($baseboard,isremote) 0 | 56 set board_info($baseboard,isremote) 0 |
73 set result [remote_exec $hostname $program $args] | 57 set result [remote_exec $hostname $program $args] |
74 set board_info($baseboard,isremote) 1 | 58 set board_info($baseboard,isremote) 1 |
75 | 59 |
76 return $result | 60 return $result |
77 } | 61 } |
78 | |
79 proc ${board}_download { board host dest } { | |
80 return $host | |
81 } | |
82 | |
83 proc ${board}_file { dest op args } { | |
84 if { $op == "delete" } { | |
85 return 0 | |
86 } | |
87 return [eval [list standard_file $dest $op] $args] | |
88 } | |
OLD | NEW |