# Copyright 2022-2024 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 . # Check that loading a file with a broken .gnu_debugaltlink doesn't crash gdb. load_lib dwarf.exp # This test can only be run on targets which support DWARF-2 and use gas. require dwarf2_support # No remote host testing either. require {!is_remote host} standard_testfile main.c no-gnu-debuglink.S set asm_file [standard_output_file $srcfile2] Dwarf::assemble $asm_file { gnu_debugaltlink "file-not-here" "0000000000000000000000000000000000000000" } if { [build_executable $testfile.exp $testfile [list $srcfile $asm_file]] } { return -1 } clean_restart gdb_test_no_output "maint set dwarf synchronous on" set msg "\r\nwarning: could not find '\.gnu_debugaltlink' file for \[^\r\n\]*" gdb_test "file $binfile" "$msg" "file command" set question "Load new symbol table from .*\? .y or n. " gdb_test "file $binfile" "" "file command, again" $question "y"