1 # Copyright (C) 2008-2024 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/>. 15 16 # This file is part of the GDB testsuite. It tests exercises PR 18833. 17 18 load_lib mi-support.exp 19 set MIFLAGS "-i=mi2" 20 21 require allow_python_tests 22 23 standard_testfile 24 set pyfile ${testfile}-gdb.py 25 26 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { 27 untested "failed to compile" 28 return -1 29 } 30 31 # Make the -gdb.py script available to gdb, it is automagically loaded by gdb. 32 # Care is taken to put it in the same directory as the binary so that 33 # gdb will find it. 34 set remote_python_file [gdb_remote_download host ${srcdir}/${subdir}/${pyfile}] 35 36 if {[mi_clean_restart $binfile]} { 37 return 38 } 39 40 mi_gdb_test "set auto-load safe-path ${remote_python_file}" \ 41 {.*\^done} \ 42 "set safe-path" 43 44 if [is_remote host] { 45 set filename ${testfile} 46 remote_download host ${binfile} ${filename} 47 } else { 48 set filename ${binfile} 49 } 50 51 # PR 18833. This will cause an unpatched gdb to crash. 52 mi_gdb_test "-file-exec-and-symbols ${filename}" \ 53 ".*main \\(.*void\\).*\ 54 return 0;.*\\^done" \ 55 "file-exec-and-symbols operation" 56