]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
common/lockdep: explicitly export g_lockdep visibility 70268/head
authorPatrick Donnelly <pdonnell@ibm.com>
Fri, 17 Jul 2026 01:30:03 +0000 (21:30 -0400)
committerPatrick Donnelly <pdonnell@ibm.com>
Fri, 17 Jul 2026 16:24:55 +0000 (12:24 -0400)
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 <pdonnell@ibm.com>
src/common/lockdep.h

index fe4cb52cdeab9905dd533948c6b8f30a5981850f..7573f464616554f40b3cf6dab04051684da51efd 100644 (file)
@@ -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);