# Copyright (C) 2021-2024 Advanced Micro Devices, Inc. All rights reserved. # This file is part of GDB. # 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 . # Test that when "amdgpu precise-memory" is off, hitting a watchpoint shows a # warning about the stop location maybe being inaccurate. load_lib rocm.exp require allow_hip_tests # The debug behavior this test checks (inspecting device locals # and/or single-stepping) is not reliable on optimized device # code, so skip it for optimized builds. require no_optimized_code if { ![istarget "*-linux*"] } then { continue } standard_testfile .cpp if {[build_executable "failed to prepare" $testfile $srcfile {debug hip}]} { return } proc do_test { } { clean_restart $::binfile with_rocm_gpu_lock { if ![runto kernel allow-pending qualified] { fail "can't run to main" return } gdb_test "watch global" \ "Hardware watchpoint $::decimal: .*" \ "insert watchpoint" gdb_test "continue" \ "hit Hardware watchpoint $::decimal.*Warning: precise memory signal reporting is not enabled.*" \ "continue to watchpoint" } } do_test