From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id PkeWNn4Y0WofNhMAWB0awg (envelope-from ) for ; Thu, 15 Oct 2026 14:16:30 -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=5JESTL1U; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id BF77B1E050; Thu, 15 Oct 2026 14:16:30 -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 593D61E04E for ; Thu, 15 Oct 2026 14:16:28 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 17F734BA2E28 for ; Thu, 15 Oct 2026 18:16:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 17F734BA2E28 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=5JESTL1U Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazon11010013.outbound.protection.outlook.com [52.101.85.13]) by sourceware.org (Postfix) with ESMTPS id 3360F4BA2E0C for ; Thu, 15 Oct 2026 18:15:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3360F4BA2E0C 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 3360F4BA2E0C Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=52.101.85.13 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1792088159; cv=pass; b=kuxUYXmDNVwk1JHERJuMynQTk9zuyVMFVRQmuvR7yWvojhRRkSuXQEgX4jHbb4GYFC11rkviOPJ3O55PMVbUw4gODpMecAz4q3uGE5Gqo17f3tS11ItpufiS8miNl/OtnEKoOHBcE8Tvdy5U5THDrhzlYqiEcqP4piK15UEX7O0= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1792088159; c=relaxed/simple; bh=38+bQcaxA0vV3gNhBk+Jwfy9JW+//zJ7H8a3TvWpTbw=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=u0xRSDcRogqEMYwu8pYWvXgYuzWn76zjaU6RzDfOwRL0XnbM0/PGnOJO/WdCoX+1XQJ1YRZV7n6GhbMj87F4tsekklfC2+Y5EiGy1U59USv4h2jXxtXGPmd5kq6VPZ98f3oAbTpbCDNjPD7DaeHn9wNW1R+AWpFzSh9HhtW8E7g= 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=5JESTL1U DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3360F4BA2E0C ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LbudPbqXmMNOC8LpoIFFVdUmWqcmLrpJq3Jz9vufhGIfddzrg5e2krLu/eh/GXMf1UZPyliD7WRjQTUTSlolswFg4/i8mKSzV0OjzmFQuOtZKaMk2tEMyIsr7euVkUtezVz0ZVekKjl+P/w0DNS7uMtRAU7VF4DxyiiPW5EQ9GpiAZIj5LEPiD8QaP3EmIBkYXQkjK34TqLdTPaEg1/yplxWGaVWg0PoYlST3BwDdo4mkU+dc+B6H8bYsPSlZJrS0SfeXEXF0KH0E7DW+gzcSRUL3gE6tcjviOOKgU/dy66tEA8tktBz2IwgF+CUTDZ9Wq7UqHaN3LHT1I7D/7i32A== 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=FJsWXeemBTeqdDmg0JKDnt7raK9FiV06UD74WicBJOA=; b=ogHto6DH2TWcbQl3YL21Wwi/v979fnCvB308Xl9Of2lJOHpVQa7E2E95twVbl8ICZ2NHPJE5QjAqNtM3f64Ji8hCqo1tr8xL2ZXFE02Dn1F7i3lfHRw77AZVZIj4f0r3w3fsX1hs8xhxX0IUV5gZwfwHbhDQM1yXJIDcAviTuGnYvoRdwuvmtAFMozQWvTpAt4JuA+q7kh5rkdqHX9W6IbZYK9ONC66KDWCaIEmmCFyK8JHz8S+056zjIUlKp68H9euXzwTYVM0yACtAV5ssiunGe2rACV/xppUF5YuaFOhr+K/M2R304oeMLbEq9992QCYzCZreDxJ+vr+i/+YH8g== 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=FJsWXeemBTeqdDmg0JKDnt7raK9FiV06UD74WicBJOA=; b=5JESTL1UBLc3anjTkX6i2KlXj84u9C5x2bQztEdxclmWv7oPP4iEsL7R+My+ATcI8JO3VzeSVeJzaiKOe8+9jLUUikSu5pdplEYUFn6XkHqNqkLP5pZxYEcaupC8LwWEWx8DFZR3UlOvtuk2syHrInkj72cYVLg+AyXT/Puupi8= Received: from SJ0PR13CA0106.namprd13.prod.outlook.com (2603:10b6:a03:2c5::21) by LY0PR12MB748257.namprd12.prod.outlook.com (2603:10b6:404:21b::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.522.14; Thu, 15 Oct 2026 18:15:53 +0000 Received: from MWH0EPF000C6187.namprd02.prod.outlook.com (2603:10b6:a03:2c5:cafe::46) by SJ0PR13CA0106.outlook.office365.com (2603:10b6:a03:2c5::21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.522.4 via Frontend Transport; Thu, 15 Oct 2026 18:15:52 +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 MWH0EPF000C6187.mail.protection.outlook.com (10.167.249.119) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.522.6 via Frontend Transport; Thu, 15 Oct 2026 18:15:51 +0000 Received: from rocgdb-taktemur.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; Thu, 15 Oct 2026 13:15:43 -0500 From: Tankut Baris Aktemur To: , Subject: [PATCH v2] gdb, amdgpu: add config guards for AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE Date: Thu, 15 Oct 2026 20:15:27 +0200 Message-ID: <20261015181527.4178032-1-tankutbaris.aktemur@amd.com> X-Mailer: git-send-email 2.53.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain 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: MWH0EPF000C6187:EE_|LY0PR12MB748257:EE_ X-MS-Office365-Filtering-Correlation-Id: 3e6ccb14-88d4-4c39-6c01-08df2ae858a2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|82310400026|36860700016|1800799024|376014|6133799003|10067099003|18002099003|13003099007|11063799006|261009223027099003|56012099006; X-Microsoft-Antispam-Message-Info: pBUhABqtjIWTXD2+u6Q4nD7+C3vier04mJSlI8UalEM6eraudgBCmb7FNQ3LEg8ofB4pHQXLKF0E/842HiZIkadnayZVLjqNzwMaXry64HUcgQspttyFv5/s9kC/9/zFldnnu6ltFPDR8u77ut6UdEEWxBKmWoPw/FsA+Wq6Df5yxyGozPrAeM3SYEhpGZK1mo6gfgeztFwJvIlt6qdjkFqlkP81aHr0Epu2EERJ4ipb+PDVW5hdgmZYjanXUzT/dXe5SN53+PoJjQNwCVCXvA2T/P9eL2bTHwm44Nk9Bo7Cjf4BlJNgB/zbiJBKH8PodSC1CXbxgwLlFGyHS3DJ9w1MsC72YSVuLIJEeiHTupuYNmtiFCJIl0izs4pYWdUdXA0D1IiPLqQphsbXH7P8jmIZ5ruQH0a0BWhosYUh0bWB9Jwx//47LheBQFpy20ewUnEWgOc5ZjgM4B1RuV629m7rKlaCC9aJobWoAF8dTIO1YHLEEAv9oqe+gJ9XVc7a+S7cdmvJEnQeOiMWp1y3n3LRecmP8ElZbjceE+rHsi9Iy4Ujko0zZe2DSDeYXixGep0UJ6n9iF+UiUm9jIuSHpdCV4HsRXDcy39RGWcl0GD+2xpWAYwC/3zBAu4JqWFUklXFHwgsLngjT5xpgdkN6Pj69zQHh7BOEPJvn2SJhTQ= 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)(23010399003)(82310400026)(36860700016)(1800799024)(376014)(6133799003)(10067099003)(18002099003)(13003099007)(11063799006)(261009223027099003)(56012099006); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ZKwbSSDQHs//UOWbfpxhgkMuCV9gZiDQNxkHSm7Ip6TVWGBTPRdeX4UfuoKFiCXuQCSVC8p23lQ05+/BXTkSi8zRVntCsX2XTfXbkkfWinVswIvOI8xFIF15IrzUyssTgHfq38hFA1WyBrKCOX+Ovhh6Sm6ogCADXtPPi4unbjkWNMknZMK3kko9MBPBUCtoyplDhjPknApagPAfhaAUGdeVj3wL38vXwco0oc+sjHuKiqi1BLkqehWUi3NqmS70esbmLjBwFAk0i0xLay06p4Km7eeaJKTUm8pAi7Nd4iR+oelfCPTesMUBKiMyc88t0HPdi4azrYIInuwgC0uyn21Wr/odYnMgPihUfMj9HwfLy+79pSxuCjRQUrOsXPyDuTtjpwdR3iJ0yxosaCc+Yvf+YZixRmr1wQaohtwVzIW4YDw/uGpQ97XLSNz4pmXi X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2026 18:15:51.6280 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3e6ccb14-88d4-4c39-6c01-08df2ae858a2 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: MWH0EPF000C6187.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LY0PR12MB748257 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 | 3 +++ gdb/configure | 36 ++++++++++++++++++++++++++++++++++++ gdb/configure.ac | 21 +++++++++++++++++++++ 4 files changed, 64 insertions(+) diff --git a/gdb/amd-dbgapi-target.c b/gdb/amd-dbgapi-target.c index 2fd175de6f7..1446187c75f 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 AMD_DBGAPI_HAS_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 AMD_DBGAPI_HAS_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..93060f573c5 100644 --- a/gdb/config.in +++ b/gdb/config.in @@ -6,6 +6,9 @@ /* Additional directories to look for separate debug info. */ #undef ADDITIONAL_DEBUG_DIRS +/* Define if AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE is available. */ +#undef AMD_DBGAPI_HAS_STATUS_ERROR_MEMORY_UNAVAILABLE + /* Directories from which to load auto-loaded scripts. */ #undef AUTO_LOAD_DIR diff --git a/gdb/configure b/gdb/configure index 0ed49887480..5f1c2a22422 100755 --- a/gdb/configure +++ b/gdb/configure @@ -25105,6 +25105,42 @@ $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. + 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; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +(void) AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + amd_dbgapi_has_status_error_memory_unavailable=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + amd_dbgapi_has_status_error_memory_unavailable=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$save_CPPFLAGS" + + if test "x${amd_dbgapi_has_status_error_memory_unavailable}" = "xyes"; then + +$as_echo "#define AMD_DBGAPI_HAS_STATUS_ERROR_MEMORY_UNAVAILABLE 1" >>confdefs.h + + fi + 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..7a437747e35 100644 --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -368,6 +368,27 @@ 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. + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $AMD_DBGAPI_CFLAGS" + AC_MSG_CHECKING([whether AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE is available]) + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[(void) AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE;]] + )], + [amd_dbgapi_has_status_error_memory_unavailable=yes + AC_MSG_RESULT([yes])], + [amd_dbgapi_has_status_error_memory_unavailable=no + AC_MSG_RESULT([no])]) + CPPFLAGS="$save_CPPFLAGS" + + if test "x${amd_dbgapi_has_status_error_memory_unavailable}" = "xyes"; then + AC_DEFINE(AMD_DBGAPI_HAS_STATUS_ERROR_MEMORY_UNAVAILABLE, 1, + [Define if AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE is available.]) + fi + elif test "$gdb_require_amd_dbgapi" = true -o "$with_amd_dbgapi" = yes; then # amd-dbgapi was not found and... # -- 2.53.0