aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLancelot SIX <lancelot.six@amd.com>2024-05-07 09:49:51 +0100
committerLancelot SIX <lancelot.six@amd.com>2024-05-07 10:33:45 +0100
commit20100e09dd0f90c1f45a399ae052ddbf6b2b20c1 (patch)
treef6956d7ab20afe93588889f61ea769256b2367ab
parentd264d04ac4ce418d2f42bf2da270325ad667d8ce (diff)
downloadbinutils-20100e09dd0f90c1f45a399ae052ddbf6b2b20c1.zip
binutils-20100e09dd0f90c1f45a399ae052ddbf6b2b20c1.tar.gz
binutils-20100e09dd0f90c1f45a399ae052ddbf6b2b20c1.tar.bz2
gdb/testsuite/lib/rocm: Fix with_rocm_gpu_lock
A recent commit refactored with_rocm_gpu_lock: commit fbb0edfe60edf4ca01884151e6d9b1353aaa0a7e Date: Sat May 4 10:41:09 2024 +0200 [gdb/testsuite] Factor out proc with_lock Factor out proc with_lock from with_rocm_gpu_lock, and move required procs lock_file_acquire and lock_file_release to lib/gdb-utils.exp. This causes regressions in gdb.rocm/*.exp (as well as in downstream rocgdb). The issue can be reproduced in the following minimal test: load_lib rocm.exp set foo hello with_rocm_gpu_lock { verbose -logs $foo } The issue is that the body to execute under the lock is executed in the context of with_rocm_gpu_lock (uplevel 1 used in with_lock) instead of in the context of the "original" caller. This patch adjusted with_rocm_gpu_lock to account for the new extra frame in the call stack between the caller of with_rocm_gpu_lock and where the code execution is triggered. Approved-By: Tom de Vries <tdevries@suse.de> Change-Id: I79ce2c9615012215867ed5bb60144abe7dce28fe
-rw-r--r--gdb/testsuite/lib/rocm.exp2
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/testsuite/lib/rocm.exp b/gdb/testsuite/lib/rocm.exp
index 2276bb3..b2db0d5 100644
--- a/gdb/testsuite/lib/rocm.exp
+++ b/gdb/testsuite/lib/rocm.exp
@@ -112,7 +112,7 @@ set gpu_lock_filename gpu-parallel.lock
# the GPU lock.
proc with_rocm_gpu_lock { body } {
- with_lock $::gpu_lock_filename $body
+ with_lock $::gpu_lock_filename {uplevel 1 $body}
# In case BODY returned early due to some testcase failing, and
# left GDB running, debugging the GPU.