From 0fa56909442c3cfea6a697681ea0e89ba5a0aa0f Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Thu, 8 May 2014 13:37:02 +0200 Subject: swrap: use LIBC_SO from GNU libc, if available Look for gnu/lib-names.h and use the LIBC_SO define to dlopen libc, so the right library is loaded without manually searching for libc.so.N. Signed-off-by: Pino Toscano Reviewed-by: Andreas Schneider Reviewed-by: Stefan Metzmacher --- src/socket_wrapper.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src') diff --git a/src/socket_wrapper.c b/src/socket_wrapper.c index 95643aa..38f7a44 100644 --- a/src/socket_wrapper.c +++ b/src/socket_wrapper.c @@ -73,6 +73,9 @@ #include #include #include +#ifdef HAVE_GNU_LIB_NAMES_H +#include +#endif enum swrap_dbglvl_e { SWRAP_LOG_ERROR = 0, @@ -418,6 +421,11 @@ static void *swrap_load_lib_handle(enum swrap_lib lib) /* FALL TROUGH */ case SWRAP_LIBC: handle = swrap.libc_handle; +#ifdef LIBC_SO + if (handle == NULL) { + handle = dlopen(LIBC_SO, flags); + } +#endif if (handle == NULL) { for (handle = NULL, i = 10; handle == NULL && i >= 0; i--) { char soname[256] = {0}; -- cgit