[binutils-gdb] gdb/testsuite/rocm: Add the hip_devices_support_debug_multi_process proc

Lancelot SIX lsix@sourceware.org
Mon Jul 31 14:29:27 GMT 2023


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=38797d2e73da87422d883bcec61ed791f0fc1894

commit 38797d2e73da87422d883bcec61ed791f0fc1894
Author: Lancelot Six <lancelot.six@amd.com>
Date:   Mon Jul 31 09:59:44 2023 +0000

    gdb/testsuite/rocm: Add the hip_devices_support_debug_multi_process proc
    
    It is not possible to debug multiple processes simultaneously on all
    generations of AMDGPU devices.  As some tests will need to debug
    multiple inferiors using AMDGPU devices, we need to ensure that all
    devices available have the required capability.  Failing to do so would
    result in GDB not being able to debug all inferiors properly.
    
    Add the hip_devices_support_debug_multi_process helper function used to
    ensure that all devices available can debug multiple processes.
    
    Approved-By: Pedro Alves <pedro@palves.net>

Diff:
---
 gdb/testsuite/lib/rocm.exp | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gdb/testsuite/lib/rocm.exp b/gdb/testsuite/lib/rocm.exp
index 389d73bcaa5..98a3b308228 100644
--- a/gdb/testsuite/lib/rocm.exp
+++ b/gdb/testsuite/lib/rocm.exp
@@ -166,3 +166,23 @@ proc with_rocm_gpu_lock { body } {
 	return -code $code $result
     }
 }
+
+# Return true if all the devices support debugging multiple processes
+# using the GPU.
+
+proc hip_devices_support_debug_multi_process {} {
+    set unsupported_targets \
+	{gfx900 gfx906 gfx908 gfx1010 gfx1011 gfx1012 gfx1030 gfx1031 gfx1032}
+
+    set targets [hcc_amdgpu_targets]
+    if { [llength $targets] == 0 } {
+	return 0
+    }
+
+    foreach target $targets {
+	if { [lsearch -exact $unsupported_targets $target] != -1 } {
+	    return 0
+	}
+    }
+    return 1
+}


More information about the Gdb-cvs mailing list