1# Copyright 2012-2023 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# Test gdb's coalescing of multiple line number entries for the same line 17# but with different discriminators. PR 17276. 18 19load_lib dwarf.exp 20 21# This test can only be run on targets which support DWARF-2 and use gas. 22if ![dwarf2_support] { 23 return 0 24} 25 26# This test can only be run on x86-64 targets. 27if {![istarget x86_64-*] || ![is_lp64_target]} { 28 return 0 29} 30 31standard_testfile .S 32set csrcfile ${testfile}.c 33 34if { [prepare_for_testing "failed to prepare" "${testfile}" $srcfile {nodebug nopie}] } { 35 return -1 36} 37 38if {![runto_main]} { 39 return 40} 41 42set srcline [gdb_get_line_number "stepi line" $csrcfile] 43gdb_breakpoint $srcline 44gdb_continue_to_breakpoint "stepi line" 45 46# A stepi will land us in the middle of the line, and thus 47# gdb should print the pc value. 48gdb_test "stepi" "$hex\[ \t\]+$srcline\[ \t\]+\[^\r\n\]+" 49