# Copyright 2021-2023 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 . load_lib dwarf.exp standard_testfile main.c if {[prepare_for_testing "failed to prepare" "${testfile}" \ [list ${srcfile}] {nodebug}]} { return -1 } set have_index [have_index $binfile] set have_index_re \ [list \ "Error while writing index for \[^\r\n\]*:" \ "Cannot use an index to create the index"] set have_index_re [join $have_index_re] set no_debug_re \ [list \ "Error while writing index for \[^\r\n\]*:" \ "No debugging symbols"] set no_debug_re [join $no_debug_re] set readnow_p [readnow] set index_file ${testfile}.gdb-index # The bug was that gdb would crash here. set cmd "save gdb-index [file dirname ${index_file}]" gdb_test_multiple $cmd "try to save gdb index" { -re -wrap $have_index_re { if { $have_index != "" || $readnow_p } { unsupported $gdb_test_name } else { fail $gdb_test_name } } -re -wrap $no_debug_re { pass $gdb_test_name } -re -wrap "^$cmd" { pass $gdb_test_name } }