# Copyright 2016-2021 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Test an inferior function call which execs a new program. # This is a test for breakpoints/19546. standard_testfile set testfile2 "infcall-exec2" set srcfile2 "${testfile2}.c" set binfile2 [standard_output_file $testfile2] # Build the two executables for the test. if {[gdb_compile $srcdir/$subdir/$srcfile $binfile executable debug] != ""} { untested "could not build $binfile" return -1 } if {[gdb_compile $srcdir/$subdir/$srcfile2 $binfile2 executable debug] != ""} { untested "could not build $binfile2" return -1 } clean_restart $binfile if {![runto_main]} { untested "could not run to main" return -1 } set expected_result "process $decimal is executing new program: $binfile2" append expected_result "\[\r\n\]+.*" append expected_result "Breakpoint 1, main .*at .*$srcfile2:$decimal" append expected_result ".*" gdb_test "call (int) execlp \(\"$binfile2\", \"$binfile2\", \(char \*\)0\)" \ $expected_result "call execlp"