From fea016234db8b84d1503a0c513d3d42a56dddcf1 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 12 Mar 2025 18:11:14 +0100 Subject: [PATCH] BUILD: tools: silence a build warning when USE_THREAD=0 The dladdr_lock that was added to avoid re-entering into dladdr is conditioned by threads, but the way it's declared causes a build warning if threads are disabled due to the insertion of a lone semi colon in the variables block. Let's switch to __decl_thread_var() for this. This can be backported wherever commit eb41d768f9 ("MINOR: tools: use only opportunistic symbols resolution") is backported. It relies on these previous two commits: bb4addabb7 ("MINOR: compiler: add a simple macro to concatenate resolved strings") 69ac4cd315 ("MINOR: compiler: add a new __decl_thread_var() macro to declare local variables") (cherry picked from commit b61ed9babe879fd5603af4643c1d60c8ab48d096) Signed-off-by: Willy Tarreau (cherry picked from commit 55ee696ca143e4900249525c5a45141dc8994e1d) Signed-off-by: Willy Tarreau --- src/tools.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools.c b/src/tools.c index e73e989..4e96332 100644 --- a/src/tools.c +++ b/src/tools.c @@ -5446,7 +5446,7 @@ const void *resolve_sym_name(struct buffer *buf, const char *pfx, const void *ad #if (defined(__ELF__) && !defined(__linux__)) || defined(USE_DL) static Dl_info dli_main; static int dli_main_done; // 0 = not resolved, 1 = resolve in progress, 2 = done - static __decl_thread(HA_SPINLOCK_T dladdr_lock); + __decl_thread_var(static HA_SPINLOCK_T dladdr_lock); int isolated; Dl_info dli; size_t size; -- 1.7.10.4