1# Copyright 2010-2019 Free Software Foundation, Inc. 2 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 5# the Free Software Foundation; either version 3 of the License, or 6# (at your option) any later version. 7# 8# This program is distributed in the hope that it will be useful, 9# but WITHOUT ANY WARRANTY; without even the implied warranty of 10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11# GNU General Public License for more details. 12# 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/>. 15load_lib dwarf.exp 16 17# This test can only be run on targets which support DWARF-2 and use gas. 18if {![dwarf2_support]} { 19 return 0 20} 21 22standard_testfile .S dw2-inline-param-main.c 23 24if { [prepare_for_testing "failed to prepare" "${testfile}" \ 25 [list $srcfile2 $srcfile] {nodebug}] } { 26 return -1 27} 28 29set break_at "" 30set test "info addr break_at" 31gdb_test_multiple $test $test { 32 -re "Symbol \"break_at\" is at (0x\[0-9a-f\]+) in .*\r\n$gdb_prompt $" { 33 set break_at $expect_out(1,string) 34 pass $test 35 } 36} 37 38gdb_unload 39 40# Strip out any labels there as they could corrupt the `main' name. 41 42set objcopy_program [gdb_find_objcopy] 43set command "$objcopy_program -N block_start -N block_end -N break_at ${binfile}" 44verbose -log "Executing: $command" 45set result [catch "exec $command" output] 46verbose "result is $result" 47verbose "output is $output" 48if {$result != 0} { 49 return -1 50} 51 52gdb_load ${binfile} 53 54if ![runto "*${break_at}"] { 55 return -1 56} 57 58gdb_test "bt" "#0 (0x\[0-9a-f\]+ in )?func \\(funcparam=<optimized out>\\)\r\n#1 main \\(mainparam=<optimized out>\\)\[^\r\n\]*" 59