1# This testcase is part of GDB, the GNU debugger. 2 3# Copyright 2009-2015 Free Software Foundation, Inc. 4 5# This program is free software; you can redistribute it and/or modify 6# it under the terms of the GNU General Public License as published by 7# the Free Software Foundation; either version 3 of the License, or 8# (at your option) any later version. 9# 10# This program is distributed in the hope that it will be useful, 11# but WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13# GNU General Public License for more details. 14# 15# You should have received a copy of the GNU General Public License 16# along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18# There's no support for vfork events in the remote protocol. 19if { [is_remote target] } { 20 return 0 21} 22 23standard_testfile .c 24 25if { [build_executable ${testfile}.exp ${testfile} $srcfile {debug}] } { 26 untested ${testfile}.exp 27 return -1 28} 29 30proc test_watchpoint_across_vfork { hw teststr } { 31 global testfile 32 33 clean_restart ${testfile} 34 35 if { ![runto main] } then { 36 fail "run to main ($teststr)" 37 return 38 } 39 40 if { ! $hw } { 41 gdb_test_no_output "set can-use-hw-watchpoints 0" "" 42 } 43 44 gdb_test "watch global" \ 45 "atchpoint .*: global" \ 46 "Watchpoint on global variable ($teststr)" 47 48 gdb_test "continue" \ 49 "atchpoint .*: global.*" \ 50 "Watchpoint triggers after vfork ($teststr)" 51} 52 53if { ![target_info exists gdb,no_hardware_watchpoints] } { 54 test_watchpoint_across_vfork 1 "hw" 55} 56 57test_watchpoint_across_vfork 0 "sw" 58