From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id Tdo+DomSg2nsjigAWB0awg (envelope-from ) for ; Wed, 04 Feb 2026 13:40:09 -0500 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=OhZyPLJI; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 1F50C1E08D; Wed, 04 Feb 2026 13:40:09 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,RDNS_NONE autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (unknown [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 3A50E1E08D for ; Wed, 04 Feb 2026 13:40:02 -0500 (EST) Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 948D14BA543C for ; Wed, 4 Feb 2026 18:40:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 948D14BA543C Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=OhZyPLJI Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11011026.outbound.protection.outlook.com [52.101.62.26]) by sourceware.org (Postfix) with ESMTPS id 5ECA74BA543C for ; Wed, 4 Feb 2026 18:39:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5ECA74BA543C Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=amd.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 5ECA74BA543C Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=52.101.62.26 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1770230374; cv=pass; b=YKPQeB3Fi9UFoy50QWesnRAbFjOGqSX8AZFK3jJdfAreUstl8N8+d2aLUowwFLMM4eoijpYDOdKfjIah6fxkhUwZLP4mb9BUun6F41y+BB1n9ldyuLgV3nz88HzXNWSgeYiVJLHX9mlyaMAFfOAsJDjyjH3J8IdVqBQpJIJlEM4= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1770230374; c=relaxed/simple; bh=C1kIUTmdPsTXN3Cscg2ScNM6eBhY36Fg1EHoFEdA/O4=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=JuYDxUbkE4v8UwLx3aajodVw1eqNyATZrekoPRxK3Ut2uxkG6ku+NlCwarl8583rE69gsr4rQML7CrXHgZeHXYncksbxizEPclVxvUO+R50LqrU35JX9CWQkofHkCyictwE2eTm+RyXYXN7sWNb4ab+NiAonH6pS9XmHJWOOdeQ= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5ECA74BA543C ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NmTdU0ReZTCidsMeN+sFuliDVKATffEIhvmgwfzSkLE9iAUQhhAGqqvjX4xw0YuYnatUZEea6IGn+Xi/zcvifhMD7jgOznvepV7lEB6cRWlcX8ksjkheSpJGXDKdR1CjttC5QBc9mt/zgj9l4fqykuEf0N+QU1dZE8Jd4VHiXHIYv1CSaF30hh58/1DA37rXNJ74MwbFAWYC5dYqu02h4rla7lc0VMn8dMTs7inmpH4MBq9XEJjApLXj0uNsSwC8vqLSeOZqQ9kTxhWGX0KOVmHl/9AEDE9R9oOGuo4VQz4dXZ5srxIxha+H6sUNBzZQG/jKGT99sjVHxWA5mbTX5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LBwYCExfaSrA1lghEeXuKF5jKvbJ/DvQdOoQdcnSNOI=; b=rdbYf5IkfexedbgSS6HXRceZ/cKUo2sZ4TAB4RJW5xCmDu2c6mZ6nTWzIrlzTIdQudkXQxEbBKD73emb0Uj6nFw0UrOMPEI246GfM6G0vVVTzHdLpuUWIdQVCQQ7Q5esWbOOywuJR2I/ghTtv9L7fQVd/H81fUGI057gDR1SG+B/gAXShf1wRRnJ1v5l+XzKq1cDciwwaPObV4Fl6mDuY7TPeZWspD0Zd0OE/jQMSD2dBeANniydKgwETTzoDPX9g2I+GPqcwXyMinU3cP56cXZHZfpijHCRtikZXaO65hfyc+lDu6rvgffHEGQ42FN1EaJJux/IykWU4DlH17558w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=polymtl.ca smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LBwYCExfaSrA1lghEeXuKF5jKvbJ/DvQdOoQdcnSNOI=; b=OhZyPLJIiuekUMlNL7X00kPFTz29FYWZLxk5Oi7cGwu8JprLGhBQxBaYWpzeb8/XlFAjC23mrWK3F5xwJKSxwoSLLdc10V9yp1VoW0XLb6XNaf6rnngZbdnW6v1x3EBtst1tWCgxVtoNUCSQxFUHFqwbbAiI10dUFPW45XC68rc= Received: from CH5P221CA0009.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:1f2::14) by MW4PR12MB7120.namprd12.prod.outlook.com (2603:10b6:303:222::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.16; Wed, 4 Feb 2026 18:39:29 +0000 Received: from CH1PEPF0000AD76.namprd04.prod.outlook.com (2603:10b6:610:1f2:cafe::96) by CH5P221CA0009.outlook.office365.com (2603:10b6:610:1f2::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9587.14 via Frontend Transport; Wed, 4 Feb 2026 18:39:27 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by CH1PEPF0000AD76.mail.protection.outlook.com (10.167.244.53) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.10 via Frontend Transport; Wed, 4 Feb 2026 18:39:29 +0000 Received: from khazad-dum (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 4 Feb 2026 12:39:28 -0600 Date: Wed, 4 Feb 2026 18:39:19 +0000 From: Lancelot SIX To: Simon Marchi CC: Subject: Re: [PATCH 1/2] gdb/testsuite: add rocm-test-utils.h Message-ID: <275ulgf45do46mb5yxe5fosqr3jqfbwung5lggymlzdsbkziyc@uqfvuyywm3tb> References: <20260124051512.731-1-simon.marchi@polymtl.ca> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20260124051512.731-1-simon.marchi@polymtl.ca> X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD76:EE_|MW4PR12MB7120:EE_ X-MS-Office365-Filtering-Correlation-Id: 5704c284-fc66-4841-ae30-08de641cbb36 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|376014|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?gV/hhdrvS2wz39wV4sBloj4beMxaf7YJw962UTrZgwlwvSCedj5qRFxFE72j?= =?us-ascii?Q?rzKkjtrYfymYFWRHXq5ybkOmkflWmblihc+FvsITAc0t5xGrNByqIjJaDeJH?= =?us-ascii?Q?37900FG3ot6n0crWAcDunGShY0H/T6VlBRDbZzOtzujf2eChoRxMXt03uZR+?= =?us-ascii?Q?s4oZ9iPFJV1USx4UzKm6oJtPt4KtmQchzMsi9v632xm2aDnr5pttxaPLgEDi?= =?us-ascii?Q?zE8QpWK1+6TNptapOPpZpkTFDlIHVHHsV8RUNLHzg+911E3t+lilXgld1Jfc?= =?us-ascii?Q?mDFpl6z1TzpwzDiTJf+y+c7ShHWwT9zyBRu3kNhEdI4I8AJrZ9OvFo2qjnkK?= =?us-ascii?Q?00SEKc6acSCBduxYgadBvQ1XZAbZGNMWkYWt4RQ+426+N5lfixqK8ItUEjdw?= =?us-ascii?Q?5L6oVjFi26IxaOLe3qt/tRC3k+f+thZGfkHLleKYhO3/l5IYVRGViFjs5g5y?= =?us-ascii?Q?A/RlwoeMP5ZrpEVnHPrS2KYSishpq7MeeP4fGcw+pWtKSYtK91TFa+I1ng63?= =?us-ascii?Q?6SZGRIt7VkQlQcMulLXbNtP4G/mMsv6Kt5w1qMfRmkq0GUtsQgNjD40jusa1?= =?us-ascii?Q?MPFE8PMLoIeKiy4WjZE+y7bvNnPvSLH+edp0/OuWOPbftlXpN0QQw/9lvji/?= =?us-ascii?Q?EJbTIBypcH+RvxB1LWChhchbCI6FRNicZFiSYwfFmHix5R8PQyxCod5UepfY?= =?us-ascii?Q?ILtcUsWXJtdbm1mZqElY+t4HnhKjgSDwGd+InxmdC2xUPBxKzKQEhngJl6XG?= =?us-ascii?Q?K3JmsRUdYpOl+qWTv+rC7z8amxDB+CReVtvrpUWIWM3lisSOtgqmRuEe3MgS?= =?us-ascii?Q?R3XqxzY1myvotz9C0dR2OBtySERfsDtiBBTsApLUjR5gGU5SxvdgwLz721H/?= =?us-ascii?Q?uoHnAm/jQhKJC70HJYXUjKBSRqwSnGuggTjCYvvQeo9XUie3MzYEx1ElatMg?= =?us-ascii?Q?6mWeNNaQ/KJyWa84xf7yeeb0Mp2117Im16RiPQLqqadXNzjd9UZIhl1Zn9Ie?= =?us-ascii?Q?kxYYvj1zAftVqEe0YMMj9kS4rLyw8eilyDapeCp/Gck77cRKewoT6rspZVWt?= =?us-ascii?Q?dTYdNDTXGpNahugMJmDmYUqH5LNi3TyeR4aneLMIbTsaaBjzD2d2ihOgVqKm?= =?us-ascii?Q?Ob/BezexWEYTraY9ocoVi1lLtw8r+C3DQ4FUGyPYBVyvt/jbyra54Jo2464w?= =?us-ascii?Q?DMqPYBJ8rC1Kf68nkBsYPDEuEqel0e+wjsGBDSu9sEO0bzhizUMHVbMKSWQX?= =?us-ascii?Q?n9WEC2+LMU+3Y2jL2K0fNR7YUR4o2wLVJtkcTu4RPifM7Flt62hxwBfBRjjW?= =?us-ascii?Q?qb24uSAFtzTT8LsUkjEm/h0mf8Q6H6/A4sfuiSb1aFWlsUbWOJeb7nO+pkfV?= =?us-ascii?Q?lnMYx9hrK1JRLqZEmO3/uTejV9qqnzi1hdYCi5C/KFF76/Bh1zSNRY0jBfsM?= =?us-ascii?Q?+8a7v1N3Ve8m1R0ssW6bPQWc68viFX3NlvKIQz2DiBPPN607gZjbQ8lrlEei?= =?us-ascii?Q?CfCLU+VrbZJI4YTWef4jdHUSMI42xD5lxsUWtCvgo36Hh60uB4XGYytDO/gf?= =?us-ascii?Q?y4INKa2Xltdw2fEZFfS7JdOftmgFX9oAysKGNdKgE11uOSuxSnh9+bkV+DQj?= =?us-ascii?Q?G+9crmUYG1itYQyFv5PkUvBcPA3163sWwV4ajR/cTC6JBNYCe36aoEba6oQF?= =?us-ascii?Q?RI2+8Q=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ORkByt/SESz2CZOYdSnr0RAj32SPAbCRwaCfg30K/tKTOdzt/m6HUWTQFjEserCc8uYhest3fFd5/WdONb2+WClWB/O/p3aD8/EtMKM9KzAqf68dYbfV/RkVXrpARyhpp8NQJeFS41u9CsUE3SXx8DoUfmShEMRlJJpH/RSHcLR3+zA2VpuHMUiRin8qhuGQzJQLgLaT8T6JzoypcEPgAt0LyQQt2LXcvgs9fA+qZV5B92hUrZBNp3qZmSNAgdwfa74ebnSTQrU/sQIpkA8SjWQ+BRNAnP8sX/XiLCevZAtDYwOPVp5/h7FRT1oc8jeu1hzVvZxzNLdaLDLPvPWE6r12exuPJ4ZtUBqfYOME50dBbokMMZNtAAAbqmSglAx9qSOn8cBBA/lEaflGV5HXk+GI6bmXILM2FpHRmvsXSfOzSDa52RcOzfeBDxYAkfz+ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2026 18:39:29.5716 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5704c284-fc66-4841-ae30-08de641cbb36 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CH1PEPF0000AD76.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7120 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org On Sat, Jan 24, 2026 at 12:14:59AM -0500, Simon Marchi wrote: > Add this file and move the CHECK macro there. This macro is used by > pretty much all tests, current and future. Hi, This looks good to me. Best, Lancelot. Approved-by: Lancelot Six (amdgpu) > > Change-Id: I54714ae5fb34d31a24d72ad48abaedcbf928cb3b > --- > .../code-object-load-while-breakpoint-hit.cpp | 13 +----- > .../fork-exec-gpu-to-non-gpu-execer.cpp | 11 +---- > .../fork-exec-non-gpu-to-gpu-execee.cpp | 12 +----- > gdb/testsuite/gdb.rocm/multi-inferior-gpu.cpp | 11 +---- > .../precise-memory-warning-sigsegv.cpp | 11 +---- > gdb/testsuite/gdb.rocm/precise-memory.cpp | 11 +---- > gdb/testsuite/gdb.rocm/rocm-test-utils.h | 40 +++++++++++++++++++ > 7 files changed, 47 insertions(+), 62 deletions(-) > create mode 100644 gdb/testsuite/gdb.rocm/rocm-test-utils.h > > diff --git a/gdb/testsuite/gdb.rocm/code-object-load-while-breakpoint-hit.cpp b/gdb/testsuite/gdb.rocm/code-object-load-while-breakpoint-hit.cpp > index d1d5f352d772..d2f2ddcbf6c1 100644 > --- a/gdb/testsuite/gdb.rocm/code-object-load-while-breakpoint-hit.cpp > +++ b/gdb/testsuite/gdb.rocm/code-object-load-while-breakpoint-hit.cpp > @@ -38,22 +38,13 @@ kernel () > #include > #include > > +#include "rocm-test-utils.h" > + > constexpr unsigned int NUM_ITEMS_PER_BLOCK = 256; > constexpr unsigned int NUM_BLOCKS = 128; > constexpr unsigned int NUM_ITEMS = NUM_ITEMS_PER_BLOCK * NUM_BLOCKS; > constexpr unsigned int NUM_LOAD_UNLOADS = 5; > > -#define CHECK(cmd) \ > - { \ > - hipError_t error = cmd; \ > - if (error != hipSuccess) \ > - { \ > - fprintf (stderr, "error: '%s'(%d) at %s:%d\n", \ > - hipGetErrorString (error), error, __FILE__, __LINE__); \ > - exit (EXIT_FAILURE); \ > - } \ > - } > - > int > main (int argc, const char **argv) > { > diff --git a/gdb/testsuite/gdb.rocm/fork-exec-gpu-to-non-gpu-execer.cpp b/gdb/testsuite/gdb.rocm/fork-exec-gpu-to-non-gpu-execer.cpp > index 758be54d3813..62938992baef 100644 > --- a/gdb/testsuite/gdb.rocm/fork-exec-gpu-to-non-gpu-execer.cpp > +++ b/gdb/testsuite/gdb.rocm/fork-exec-gpu-to-non-gpu-execer.cpp > @@ -18,16 +18,7 @@ > #include > #include > > -#define CHECK(cmd) \ > - { \ > - hipError_t error = cmd; \ > - if (error != hipSuccess) \ > - { \ > - fprintf (stderr, "error: '%s'(%d) at %s:%d\n", \ > - hipGetErrorString (error), error, __FILE__, __LINE__); \ > - exit (EXIT_FAILURE); \ > - } \ > - } > +#include "rocm-test-utils.h" > > __global__ static void > kernel1 () > diff --git a/gdb/testsuite/gdb.rocm/fork-exec-non-gpu-to-gpu-execee.cpp b/gdb/testsuite/gdb.rocm/fork-exec-non-gpu-to-gpu-execee.cpp > index c73df22a3e05..9f84af7cd323 100644 > --- a/gdb/testsuite/gdb.rocm/fork-exec-non-gpu-to-gpu-execee.cpp > +++ b/gdb/testsuite/gdb.rocm/fork-exec-non-gpu-to-gpu-execee.cpp > @@ -17,17 +17,7 @@ > > #include > > -#define CHECK(cmd) \ > - { \ > - hipError_t error = cmd; \ > - if (error != hipSuccess) \ > - { \ > - fprintf (stderr, "error: '%s'(%d) at %s:%d\n", \ > - hipGetErrorString (error), error, __FILE__, __LINE__); \ > - exit (EXIT_FAILURE); \ > - } \ > - } > - > +#include "rocm-test-utils.h" > > __device__ static void > break_here_execee () > diff --git a/gdb/testsuite/gdb.rocm/multi-inferior-gpu.cpp b/gdb/testsuite/gdb.rocm/multi-inferior-gpu.cpp > index 0a00a996e1ab..b60b51d39ed4 100644 > --- a/gdb/testsuite/gdb.rocm/multi-inferior-gpu.cpp > +++ b/gdb/testsuite/gdb.rocm/multi-inferior-gpu.cpp > @@ -20,16 +20,7 @@ > #include > #include > > -#define CHECK(cmd) \ > - { \ > - hipError_t error = cmd; \ > - if (error != hipSuccess) \ > - { \ > - fprintf (stderr, "error: '%s'(%d) at %s:%d\n", \ > - hipGetErrorString (error), error, __FILE__, __LINE__); \ > - exit (EXIT_FAILURE); \ > - } \ > - } > +#include "rocm-test-utils.h" > > __global__ void > kern () > diff --git a/gdb/testsuite/gdb.rocm/precise-memory-warning-sigsegv.cpp b/gdb/testsuite/gdb.rocm/precise-memory-warning-sigsegv.cpp > index 657dcfdcd59e..2510e4381bf4 100644 > --- a/gdb/testsuite/gdb.rocm/precise-memory-warning-sigsegv.cpp > +++ b/gdb/testsuite/gdb.rocm/precise-memory-warning-sigsegv.cpp > @@ -17,16 +17,7 @@ > > #include > > -#define CHECK(cmd) \ > - { \ > - hipError_t error = cmd; \ > - if (error != hipSuccess) \ > - { \ > - fprintf (stderr, "error: '%s'(%d) at %s:%d\n", \ > - hipGetErrorString (error), error, __FILE__, __LINE__); \ > - exit (EXIT_FAILURE); \ > - } \ > - } > +#include "rocm-test-utils.h" > > __global__ void > kernel () > diff --git a/gdb/testsuite/gdb.rocm/precise-memory.cpp b/gdb/testsuite/gdb.rocm/precise-memory.cpp > index 49d98a1bf752..432d3cb576f1 100644 > --- a/gdb/testsuite/gdb.rocm/precise-memory.cpp > +++ b/gdb/testsuite/gdb.rocm/precise-memory.cpp > @@ -17,16 +17,7 @@ > > #include > > -#define CHECK(cmd) \ > - { \ > - hipError_t error = cmd; \ > - if (error != hipSuccess) \ > - { \ > - fprintf (stderr, "error: '%s'(%d) at %s:%d\n", \ > - hipGetErrorString (error), error, __FILE__, __LINE__); \ > - exit (EXIT_FAILURE); \ > - } \ > - } > +#include "rocm-test-utils.h" > > __global__ void > kernel () > diff --git a/gdb/testsuite/gdb.rocm/rocm-test-utils.h b/gdb/testsuite/gdb.rocm/rocm-test-utils.h > new file mode 100644 > index 000000000000..70d232b873b8 > --- /dev/null > +++ b/gdb/testsuite/gdb.rocm/rocm-test-utils.h > @@ -0,0 +1,40 @@ > +/* This testcase is part of GDB, the GNU debugger. > + > + Copyright 2021-2026 Free Software Foundation, Inc. > + > + 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 . */ > + > +#ifndef ROCM_TEST_UTILS_H > +#define ROCM_TEST_UTILS_H > + > +#include > +#include > + > +/* Check the return value of a HIP call, exit on error. */ > + > +#define CHECK(cmd) \ > + do \ > + { \ > + hipError_t error = cmd; \ > + if (error != hipSuccess) \ > + { \ > + fprintf (stderr, "error: '%s'(%d) at %s:%d\n", \ > + hipGetErrorString (error), error, __FILE__, \ > + __LINE__); \ > + exit (EXIT_FAILURE); \ > + } \ > + } \ > + while (0) > + > +#endif /* ROCM_TEST_UTILS_H */ > > base-commit: 3e0e90ac1e407c5a23f8c823679004043e38848f > -- > 2.52.0