# Copyright 2021-2024 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 . # 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 $::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} }