]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/testsuite/gdb.base/step-bt.exp
2010-06-01 Michael Snyder <msnyder@vmware.com>
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.base / step-bt.exp
CommitLineData
4c38e0a4 1# Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
f4b618d1
JB
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
e22f8b7c 5# the Free Software Foundation; either version 3 of the License, or
f4b618d1 6# (at your option) any later version.
e22f8b7c 7#
f4b618d1
JB
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.
e22f8b7c 12#
f4b618d1 13# You should have received a copy of the GNU General Public License
e22f8b7c 14# along with this program. If not, see <http://www.gnu.org/licenses/>.
f4b618d1 15
f9f7ad22
MS
16# The intent of this testcase is to assure that backtrace works while
17# single-stepping the instructions that prepare to call a function.
f4b618d1
JB
18
19if $tracelevel then {
20 strace $tracelevel
21}
22
f4b618d1
JB
23
24set testfile step-bt
25set srcfile ${testfile}.c
26set binfile ${objdir}/${subdir}/${testfile}
27if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
28 untested "Couldn't compile test program"
29 return -1
30}
31
32# Get things started.
33
34gdb_exit
35gdb_start
36gdb_reinitialize_dir $srcdir/$subdir
37gdb_load ${binfile}
38
39gdb_test "break *hello" \
40 "Breakpoint.*at.* file .*$srcfile, line .*" \
41 "breakpoint at first instruction of hello()"
42
43gdb_run_cmd
44gdb_expect {
45 -re ".*Breakpoint.* hello .* at .*$srcfile:.*$gdb_prompt $" {
46 pass "run to hello()"
47 }
48 -re ".*$gdb_prompt $" {
49 fail "run to hello()"
50 return -1
51 }
52 timeout {
53 fail "run to hello() (timeout)"
54 return -1
55 }
56}
57
58gdb_test "stepi" \
27d3a1a2 59 ".*" \
f4b618d1
JB
60 "step first instruction"
61
62gdb_test "bt" \
089ec8f1 63 "#0 +(0x\[0-9a-z\]+ in )?hello .*#1 +(0x\[0-9a-z\]* in )?main.*" \
f4b618d1
JB
64 "backtrace after first instruction step"
65
66gdb_test "stepi" \
27d3a1a2 67 ".*" \
f4b618d1
JB
68 "step second instruction"
69
70gdb_test "bt" \
089ec8f1 71 "#0 +(0x\[0-9a-z\]+ in )?hello .*#1 +(0x\[0-9a-z\]* in )?main.*" \
f4b618d1
JB
72 "backtrace after second instruction step"
73