blob: 24724463be420c20b94dd06ef61d19fd3afd6af4 [file] [log] [blame]
# Copyright 2021-2025 Free Software Foundation, Inc.
# 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 <http://www.gnu.org/licenses/>.
# Test that the "set amdgpu precise-memory" setting is inherited by an inferior
# created following an exec.
load_lib rocm.exp
require allow_hipcc_tests
standard_testfile .c
if {[build_executable "failed to prepare $testfile" $testfile $srcfile {debug}]} {
return
}
proc do_test { follow-exec-mode } {
clean_restart
gdb_load $::binfile
with_rocm_gpu_lock {
if {![runto_main]} {
return
}
# Set precise-memory on the inferior before exec.
gdb_test "show amdgpu precise-memory" " is off.*" \
"show amdgpu precise-memory before set"
gdb_test "set amdgpu precise-memory on"
gdb_test "show amdgpu precise-memory" " is on.*" \
"show amdgpu precise-memory after set"
# Continue past exec. The precise-memory setting should
# be on.
gdb_test_no_output "set follow-exec-mode ${follow-exec-mode}"
gdb_test "break second"
gdb_test "continue" "Breakpoint 1(\.$::decimal)?, main .*"
gdb_test "show amdgpu precise-memory" " is on.*" \
"show amdgpu precise-memory after exec"
}
}
foreach_with_prefix follow-exec-mode {same new} {
do_test ${follow-exec-mode}
}