OLD | NEW |
1 # Copyright 2010-2012 Free Software Foundation, Inc. | 1 # Copyright 2010-2012 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 load_lib dwarf.exp | 15 load_lib dwarf.exp |
16 | 16 |
17 # This test can only be run on targets which support DWARF-2 and use gas. | 17 # This test can only be run on targets which support DWARF-2 and use gas. |
18 if {![dwarf2_support]} { | 18 if {![dwarf2_support]} { |
19 return 0 | 19 return 0 |
20 } | 20 } |
21 | 21 |
22 set testfile dw2-inline-param | 22 standard_testfile .S dw2-inline-param-main.c |
23 set binfile ${objdir}/${subdir}/${testfile} | 23 |
24 if { [build_executable ${testfile}.exp "${testfile}" [list ${testfile}-main.c ${
testfile}.S] {nodebug}] } { | 24 if { [prepare_for_testing ${testfile}.exp "${testfile}" \ |
| 25 » [list $srcfile2 $srcfile] {nodebug}] } { |
25 return -1 | 26 return -1 |
26 } | 27 } |
27 | 28 |
28 clean_restart ${testfile} | |
29 | |
30 set break_at "" | 29 set break_at "" |
31 set test "info addr break_at" | 30 set test "info addr break_at" |
32 gdb_test_multiple $test $test { | 31 gdb_test_multiple $test $test { |
33 -re "Symbol \"break_at\" is at (0x\[0-9a-f\]+) in .*\r\n$gdb_prompt $" { | 32 -re "Symbol \"break_at\" is at (0x\[0-9a-f\]+) in .*\r\n$gdb_prompt $" { |
34 set break_at $expect_out(1,string) | 33 set break_at $expect_out(1,string) |
35 pass $test | 34 pass $test |
36 } | 35 } |
37 } | 36 } |
38 | 37 |
39 gdb_unload | 38 gdb_unload |
40 | 39 |
41 # Strip out any labels there as they could corrupt the `main' name. | 40 # Strip out any labels there as they could corrupt the `main' name. |
42 | 41 |
43 set objcopy_program [transform objcopy] | 42 set objcopy_program [transform objcopy] |
44 set result [catch "exec $objcopy_program -N block_start -N block_end -N break_at
${binfile}" output] | 43 set command "$objcopy_program -N block_start -N block_end -N break_at ${binfile}
" |
| 44 verbose -log "Executing: $command" |
| 45 set result [catch "exec $command" output] |
45 verbose "result is $result" | 46 verbose "result is $result" |
46 verbose "output is $output" | 47 verbose "output is $output" |
47 if {$result != 0} { | 48 if {$result != 0} { |
48 return -1 | 49 return -1 |
49 } | 50 } |
50 | 51 |
51 gdb_load ${binfile} | 52 gdb_load ${binfile} |
52 if [target_info exists gdb_stub] { | |
53 gdb_step_for_stub; | |
54 } | |
55 | 53 |
56 if ![runto "*${break_at}"] { | 54 if ![runto "*${break_at}"] { |
57 return -1 | 55 return -1 |
58 } | 56 } |
59 | 57 |
60 gdb_test "bt" "#0 (0x\[0-9a-f\]+ in )?func \\(funcparam=<optimized out>\\)\r\n#
1 main \\(mainparam=<optimized out>\\)\[^\r\n\]*" | 58 gdb_test "bt" "#0 (0x\[0-9a-f\]+ in )?func \\(funcparam=<optimized out>\\)\r\n#
1 main \\(mainparam=<optimized out>\\)\[^\r\n\]*" |
OLD | NEW |