1# This testcase is part of GDB, the GNU debugger. 2# 3# Copyright 2013-2015 Free Software Foundation, Inc. 4# 5# Contributed by Intel Corp. <markus.t.metzger@intel.com> 6# 7# This program is free software; you can redistribute it and/or modify 8# it under the terms of the GNU General Public License as published by 9# the Free Software Foundation; either version 3 of the License, or 10# (at your option) any later version. 11# 12# This program is distributed in the hope that it will be useful, 13# but WITHOUT ANY WARRANTY; without even the implied warranty of 14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15# GNU General Public License for more details. 16# 17# You should have received a copy of the GNU General Public License 18# along with this program. If not, see <http://www.gnu.org/licenses/>. 19# 20# 21# Test that we can reverse-next over the dynamic linker's symbol 22# lookup code. 23 24# check for btrace support 25if { [skip_btrace_tests] } { return -1 } 26 27# start inferior 28standard_testfile 29if [prepare_for_testing $testfile.exp $testfile $srcfile {c++ debug}] { 30 return -1 31} 32if ![runto_main] { 33 return -1 34} 35 36# trace the code for the call to test 37gdb_test_no_output "record btrace" 38gdb_test "next" ".*main\.2.*" 39 40# just dump the function-call-history to help debugging 41gdb_test_no_output "set record function-call-history-size 0" 42gdb_test "record function-call-history /cli 1" ".*" 43 44# check that we can reverse-next and next 45gdb_test "reverse-next" ".*main\.1.*" 46gdb_test "next" ".*main\.2.*" 47 48# now go into test and try to reverse-next and next over the library call 49gdb_test "reverse-step" ".*test\.3.*" 50gdb_test "reverse-step" ".*test\.2.*" 51gdb_test "reverse-next" ".*test\.1.*" 52gdb_test "next" ".*test\.2.*" 53