From f257ec7c9ab6e14b11ea63378065db42105882b5 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Tue, 18 Sep 2018 15:16:37 +0200 Subject: [PATCH] Remove usage of RTLD_DEEPBIND. It does not seem to be mandatory, and sanitizers are complaining. Let's see if it passes on CI servers. --- src/smpi/internals/smpi_global.cpp | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/smpi/internals/smpi_global.cpp b/src/smpi/internals/smpi_global.cpp index aaef32d548..4e218d11e4 100644 --- a/src/smpi/internals/smpi_global.cpp +++ b/src/smpi/internals/smpi_global.cpp @@ -53,14 +53,6 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_kernel, smpi, "Logging specific to SMPI (ke extern "C" void _gfortran_set_args(int, char **); #endif -#ifndef RTLD_DEEPBIND -/* RTLD_DEEPBIND is a bad idea of GNU ld that obviously does not exist on other platforms - * See https://www.akkadia.org/drepper/dsohowto.pdf - * and https://lists.freebsd.org/pipermail/freebsd-current/2016-March/060284.html -*/ -#define RTLD_DEEPBIND 0 -#endif - #if HAVE_PAPI #include "papi.h" std::string papi_default_config_name = "default"; @@ -610,7 +602,7 @@ static void smpi_init_privatization_dlopen(std::string executable) rank++; // Load the copy and resolve the entry point: - void* handle = dlopen(target_executable.c_str(), RTLD_LAZY | RTLD_LOCAL | RTLD_DEEPBIND); + void* handle = dlopen(target_executable.c_str(), RTLD_LAZY | RTLD_LOCAL); int saved_errno = errno; if (simgrid::config::get_value("smpi/keep-temps") == false) { unlink(target_executable.c_str()); -- 2.20.1