From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id IVLWNQIT12qb7TgAWB0awg (envelope-from ) for ; Tue, 20 Oct 2026 03:06:42 -0400 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=QFy8bXAV; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 9E6361E050; Tue, 20 Oct 2026 03:06:42 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-3.4 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 autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [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 EF7891E047 for ; Tue, 20 Oct 2026 03:06:39 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 758094BB58E3 for ; Tue, 20 Oct 2026 07:06:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 758094BB58E3 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=QFy8bXAV Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazon11012004.outbound.protection.outlook.com [52.101.43.4]) by sourceware.org (Postfix) with ESMTPS id 62C8E4BAE7E0 for ; Tue, 20 Oct 2026 07:06:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 62C8E4BAE7E0 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 62C8E4BAE7E0 Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=52.101.43.4 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1792479972; cv=pass; b=p5M2fi+UNTYO2vSm3U1m21nhjioIrhDUE2ArNrExcPwdI8lino49XcLVY9Esj7vW+xTnWYOB8c73LHaVEmNjZsoK2RxJrIHpEhI+aSGJmQZq/kVM6X2WCIh3J8ZpH8UQVfhkxb1G/G9eY30maqsSO9DNWJvX3Z97wQ9uNUvUG6I= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1792479972; c=relaxed/simple; bh=ZewL2kfHx6SXvvBwBuo3EYVMFnvrkgfW+48FloFGzbk=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=hm92GRAPu6U+TT990qQXqxDfSbactogLalNjIaVaZ7DtKZI/S6Wj0uet3DDhoifF/qAtE/gnY5JY2YZkF2H2Nhs8n7jHZCujAYSt8NmMZQnJ7CnSZTZjGR61dL1VJ4cU5vNWK+NdnZ6NxGqGSofW23QRaVotyacvtEPjx5E+Qb0= ARC-Authentication-Results: i=2; 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=QFy8bXAV DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 62C8E4BAE7E0 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SESNIM+nrqt+Dw8LKdqbFuOeNJx9xWxdqDkI4S7hm4Azcj8iQSLAZP0U50AOjG0dVuQEa63E8dRnWbBwSj83ujgaqHJPonEGPUTxIXRyrp5A9EJRn/hDbG5HtM24WHurBS2ITCWPL12ZNhPDuaze/MnLuWtZmkd0woUrX8leYSCMJEOsxXTaBsVvtEgpuNU3nxbCVoC337pTGg6nkXurfIIFw2MjPxMZYim7OEgudlRWS58sESqa2UO05ULSdpWBvMv8ZXZImpiBuwEJKcw9GCy29vl/Kng7bg2B8nnmCzOqIHOxXlKuJvLClELsxxZVreS5Je3YKJwjpLYkeecBqg== 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=rZGpT/yajMP3xAtcnUAq6eSX5tRX5hKKBSGa4U37m8s=; b=PW9tgOmph2pLfUOovzDXIp+KTkoVPKa2CWhRYnw2WYGGK1/yf9ecvt08gRpSF/etmnGdXCdTYbXr9Orb8l0ZBr+5mmd0Ld92tvASvjIAxWKpVl32qtzl5JhfLzWVPrBh6Aw/F8lx6J/NZdRWGkw7onViJQg5SiqVUWq+eqjosVsQcJW2rJVAmONFXGzXSfGIpGXbPC5bbV2r8NeiLIToPxucErdCdV0n0ncWqper0yJjodTW/otkcxpUaMqhl7gICYmN/hcr1f7Vp+D1MfugBLRUtmXeHNxAvy71yt7I06t88Z50bkPaQWev6NmH5FaU4HBcTIxMis6FwNvpHqBEqg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=sourceware.org 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=rZGpT/yajMP3xAtcnUAq6eSX5tRX5hKKBSGa4U37m8s=; b=QFy8bXAVQ7pkx2JfEt6e618Ld+sWX1iqnHLSxNgqXNbGZB7ujXCskWFF/OLVpzNaJAGMyuxyVCFQhcgxJn0OyG3CdO2PCDfYTgsOgAGvXhR2A3kwj8bJ8owXHWnN0Jf9G7UuQWHVknT2DZOBUBWKANoJLosGRrAdgLmadhAmxJA= Received: from BN0PR02CA0014.namprd02.prod.outlook.com (2603:10b6:408:e4::19) by MW4PR12MB6976.namprd12.prod.outlook.com (2603:10b6:303:20a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.522.14; Tue, 20 Oct 2026 07:06:06 +0000 Received: from BN2PEPF00004FC0.namprd04.prod.outlook.com (2603:10b6:408:e4:cafe::2d) by BN0PR02CA0014.outlook.office365.com (2603:10b6:408:e4::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.522.19 via Frontend Transport; Tue, 20 Oct 2026 07:06:06 +0000 X-MS-Exchange-Authentication-Results: mx.microsoft.com 1; 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 BN2PEPF00004FC0.mail.protection.outlook.com (10.167.243.186) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.522.6 via Frontend Transport; Tue, 20 Oct 2026 07:06:06 +0000 Received: from ctr-rack32-mi300x-1.amd.com (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.53; Tue, 20 Oct 2026 02:06:06 -0500 From: Tankut Baris Aktemur To: , , Subject: [PATCH v3] gdb, amdgpu: add config guards for AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE Date: Tue, 20 Oct 2026 02:05:45 -0500 Message-ID: <20261020070546.803912-1-tankutbaris.aktemur@amd.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF00004FC0:EE_|MW4PR12MB6976:EE_ X-MS-Office365-Filtering-Correlation-Id: 30add0e5-d23b-41c9-7eb2-08df2e789c79 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|23010399003|376014|36860700016|1800799024|6133799003|18002099003|10067099003|13003099007|261009223027099003|11063799006|56012099006; X-Microsoft-Antispam-Message-Info: aY5KGgYBflHBw75hxFIM4+WmKaf60xuAKzza+K/Hf03x3VSXr14TPMdxQqBNK+BSwY/jl89LC3TFOP5J7P52ecvdp+8xeffnZe2A0HW/ksbeGB9PkZHERSY9htVT8FFbfrgZRAQqz6IW+gBbERKrjo5QV0o/F2EVrYNP2mmsv4lNxO6EgMO0r3ONfQFXRg1Bj+/xpG63DWzgBwU2tbAv5QTgQD7JjCalT9gO6QCDZluwJSJM4vTtWhH44LC3BSQsY/6xYSd81MeCa17bv7zubYTVW5ptAaHPgw1tOwuG9Rd3GlAys+wXy80qIXqDMbg0IfTuh9Ti7FJvPm/CNlipBpXY79QunPKkwUTvs8D+/XUR6Wqb/nCj3H5PAe1zhhpI2qTgxiZf9UAxmit91HsuSqsLtDGzNMuzthoIeYzBRp6fsQxp72/QyHw/VO8tRXbQVEGvQOoWaE09Ts4qWqYXtZELuGEEZ2Eu6CdNCnOchUVLNBJUyKYDuVmT79Cg5io2VoQEAnsplGXeJ3ZeauBx6umGwzJkVBC7qELXh5w85BLWfGQoLEsUiB7ZmzuLPxa8M3tkat4r168xOGs3a1gmaF4JURdE5XsypuZN/mgU1Sppsxwz7huKB2b1yJ3xuWr+p+IXK2lP8Qas2XzTMnzp3g== 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)(23010399003)(376014)(36860700016)(1800799024)(6133799003)(18002099003)(10067099003)(13003099007)(261009223027099003)(11063799006)(56012099006); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: c91+R89nbhtJJyoEoMWe90YOy9oNzSNzgqVU6BzBWyA+48dqVl+SE35LTkscjptyFZyCYrqpdSHlJcJ0Xajc1j6iXRSVD7BS8zT0y8u2aS4umszGGxpSpXwjIzaOhdS0OCtTJoPnF6YIY0F5ldpdgH5pFcnGfEyc44RRZUKykgoOCmXCIAd5yqgUnb09O/uF84x7OVe3rR9A7VonKIHgVe0ovvwbb9VvYQ+/JXHgR9tY/zA5rJCOOalmFLyKV1KXjNykaqLbiHkm8QtWZQxMkAYV0m9pyPHRf0zG1zAuiVhdlhKZ7bOHUBMDIg+HY28rNiWmJAc360nXfhMZG4IHB0JkmhCQDNXaERM138H8qicqFRN/nra6KQ/KrHZC/GnWSC1ZfzFKrRVCSf6q5G7U1R2AKeLXa5WP3+b/6bwxvImTxzajaBzut8N5ugOlsinZ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2026 07:06:06.5642 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 30add0e5-d23b-41c9-7eb2-08df2e789c79 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: BN2PEPF00004FC0.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6976 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 Commit e52a8aca2baf6481c4e8fea45530283759096be5 "gdb, amdgpu: handle UNAVAILABLE error when accessing memory" used an enum value from amd-dbgapi named AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE that may not be available in all installed packages. This causes a build failure as reported by Tom Tromey at https://sourceware.org/pipermail/gdb-patches/2026-October/231115.html Detect at configuration time if the enum value exists and guard the newly added code accordingly. --- gdb/amd-dbgapi-target.c | 4 ++++ gdb/config.in | 4 ++++ gdb/configure | 21 +++++++++++++++++++++ gdb/configure.ac | 10 ++++++++++ 4 files changed, 39 insertions(+) diff --git a/gdb/amd-dbgapi-target.c b/gdb/amd-dbgapi-target.c index 2fd175de6f7..a38a8bafb90 100644 --- a/gdb/amd-dbgapi-target.c +++ b/gdb/amd-dbgapi-target.c @@ -786,11 +786,13 @@ amd_dbgapi_target::xfer_partial (enum target_object object, const char *annex, AMD_DBGAPI_ADDRESS_SPACE_GLOBAL, offset, &len, writebuf); +#if HAVE_DECL_AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE if (status == AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE) { *xfered_len = requested_len; return TARGET_XFER_UNAVAILABLE; } +#endif if (status != AMD_DBGAPI_STATUS_SUCCESS) return TARGET_XFER_E_IO; @@ -2576,8 +2578,10 @@ amd_dbgapi_xfer_global_memory_callback if (status == TARGET_XFER_EOF) return AMD_DBGAPI_STATUS_ERROR_PROCESS_EXITED; +#if HAVE_DECL_AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE else if (status == TARGET_XFER_UNAVAILABLE) return AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE; +#endif else if (status != TARGET_XFER_OK) return AMD_DBGAPI_STATUS_ERROR_MEMORY_ACCESS; diff --git a/gdb/config.in b/gdb/config.in index 7ea0e9cfce8..ce48cfd9e22 100644 --- a/gdb/config.in +++ b/gdb/config.in @@ -136,6 +136,10 @@ you don't. */ #undef HAVE_DECL_ADDR_NO_RANDOMIZE +/* Define to 1 if you have the declaration of + `AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE', and to 0 if you don't. */ +#undef HAVE_DECL_AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE + /* Define to 1 if you have the declaration of `asprintf', and to 0 if you don't. */ #undef HAVE_DECL_ASPRINTF diff --git a/gdb/configure b/gdb/configure index 0ed49887480..0e3efec3f81 100755 --- a/gdb/configure +++ b/gdb/configure @@ -25105,6 +25105,27 @@ $as_echo "#define HAVE_AMD_DBGAPI 1" >>confdefs.h as_fn_error $? "amd-dbgapi not supported for host ${gdb_host}" "$LINENO" 5 ;; esac + + # Detect if AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE can be used. + # This value is available with amd-dbgapi version 0.78.0. + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $AMD_DBGAPI_CFLAGS" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE is available" >&5 +$as_echo_n "checking whether AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE is available... " >&6; } + ac_fn_c_check_decl "$LINENO" "AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE" "ac_cv_have_decl_AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE" "#include +" +if test "x$ac_cv_have_decl_AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE $ac_have_decl +_ACEOF + + CPPFLAGS="$save_CPPFLAGS" + elif test "$gdb_require_amd_dbgapi" = true -o "$with_amd_dbgapi" = yes; then # amd-dbgapi was not found and... # diff --git a/gdb/configure.ac b/gdb/configure.ac index e0117ede292..ee10f555b3c 100644 --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -368,6 +368,16 @@ if test "$gdb_require_amd_dbgapi" = true \ AC_MSG_ERROR([amd-dbgapi not supported for host ${gdb_host}]) ;; esac + + # Detect if AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE can be used. + # This value is available with amd-dbgapi version 0.78.0. + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $AMD_DBGAPI_CFLAGS" + AC_MSG_CHECKING([whether AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE is available]) + AC_CHECK_DECLS(AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE, + [], [], [[#include ]]) + CPPFLAGS="$save_CPPFLAGS" + elif test "$gdb_require_amd_dbgapi" = true -o "$with_amd_dbgapi" = yes; then # amd-dbgapi was not found and... # -- 2.43.0