From: Patrick Donnelly Date: Fri, 17 Jul 2026 01:30:03 +0000 (-0400) Subject: common/lockdep: explicitly export g_lockdep visibility X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2ff0eaa28fbf8ab10ea0ab262bc30ac9ae144368;p=ceph.git common/lockdep: explicitly export g_lockdep visibility Aggressive Link-Time Optimization (LTO) and stricter linker defaults in newer toolchains (like GCC 13 on Ubuntu 24.04) can strip or localize external global variables if their visibility is not explicitly defined. Tagging g_lockdep with default visibility ensures it remains accessible in the dynamic symbol table for external binaries like monmaptool. Assisted-by: Gemini Fixes: https://tracker.ceph.com/issues/78321 Signed-off-by: Patrick Donnelly --- diff --git a/src/common/lockdep.h b/src/common/lockdep.h index fe4cb52cdea..7573f464616 100644 --- a/src/common/lockdep.h +++ b/src/common/lockdep.h @@ -20,7 +20,7 @@ #ifdef CEPH_DEBUG_MUTEX -extern bool g_lockdep; +__attribute__((visibility("default"))) extern bool g_lockdep; extern void lockdep_register_ceph_context(CephContext *cct); extern void lockdep_unregister_ceph_context(CephContext *cct);