packages/net/haproxy/patches/000-OPENWRT-BUILD-make-dladdr1-depend-on-glibc-version-and-not-__USE_GNU.patch

24 lines
879 B
Diff
Raw Normal View History

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