|
commit 62af9c83f9ed2b25e0061798e29e3cccfce5fbdc
|
|
Author: Willy Tarreau <w@1wt.eu>
|
|
Date: Tue Mar 10 07:51:48 2020 +0100
|
|
|
|
BUILD: make dladdr1 depend on glibc version and not __USE_GNU
|
|
|
|
Technically speaking the call was implemented in glibc 2.3 so we must
|
|
rely on this and not on __USE_GNU which is an internal define of glibc
|
|
to track use of GNU_SOURCE.
|
|
|
|
diff --git a/src/standard.c b/src/standard.c
|
|
index e0ea8328e..d16eebfea 100644
|
|
--- a/src/standard.c
|
|
+++ b/src/standard.c
|
|
@@ -4350,7 +4350,7 @@ void debug_hexdump(FILE *out, const char *pfx, const char *buf,
|
|
static int dladdr_and_size(const void *addr, Dl_info *dli, size_t *size)
|
|
{
|
|
int ret;
|
|
-#ifdef __USE_GNU // most detailed one
|
|
+#if (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) // most detailed one
|
|
const ElfW(Sym) *sym;
|
|
|
|
ret = dladdr1(addr, dli, (void **)&sym, RTLD_DL_SYMENT);
|