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")
#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;