diff options
author | Lancelot SIX <lancelot.six@amd.com> | 2024-05-07 09:49:51 +0100 |
---|---|---|
committer | Lancelot SIX <lancelot.six@amd.com> | 2024-05-07 10:33:45 +0100 |
commit | 20100e09dd0f90c1f45a399ae052ddbf6b2b20c1 (patch) | |
tree | f6956d7ab20afe93588889f61ea769256b2367ab | |
parent | d264d04ac4ce418d2f42bf2da270325ad667d8ce (diff) | |
download | binutils-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.exp | 2 |
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. |