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# Bug 17394 17# Test for break-point at a function only for a selected ASM file. 18 19load_lib dwarf.exp 20 21standard_testfile .c 22set execfile $testfile 23set asm_file1 break-asm-file1.s 24set asm_file0 break-asm-file0.s 25 26# This test can only be run on targets which support DWARF-2 and use gas. 27if {![dwarf2_support]} { 28 return 0 29} 30 31if {[gdb_compile ${srcdir}/${subdir}/${srcfile} ${binfile}1.o \ 32 object {debug nowarnings optimize=-O0}] != ""} { 33 return -1 34} 35 36# Compile .s files without debug information. 37if {[gdb_compile ${srcdir}/${subdir}/$asm_file0 ${binfile}2.o \ 38 object {nodebug}] != ""} { 39 return -1 40} 41if {[gdb_compile ${srcdir}/${subdir}/$asm_file1 ${binfile}3.o \ 42 object {nodebug}] != ""} { 43 return -1 44} 45 46if {[gdb_compile [list ${binfile}1.o ${binfile}2.o ${binfile}3.o] \ 47 "${binfile}" executable {}] != ""} { 48 return -1 49} 50 51clean_restart $execfile 52 53gdb_test "break a/$asm_file0:func" \ 54 "Breakpoint 1 at 0x\[0-9a-fA-F\]+: file .*a/$asm_file0, line 7\\\." \ 55 "set a break-point at a global function only for a selected ASM file." 56 57gdb_test "delete 1" 58 59gdb_test "break b/$asm_file0:func" \ 60 "Breakpoint 2 at 0x\[0-9a-fA-F\]+: file .*b/$asm_file0, line 7\\\." \ 61 "set a break-point at a function only for a selected ASM file." 62 63gdb_test "delete 2" 64 65gdb_test "break $asm_file0:func" \ 66 "Breakpoint 3 at 0x\[0-9a-fA-F\]+: .*$asm_file0.*(2 locations).*" \ 67 "set a break-point at function in all instances for a selected ASM file." 68 69