From: Arnaud Giersch Date: Tue, 18 Sep 2018 13:16:37 +0000 (+0200) Subject: Remove usage of RTLD_DEEPBIND. X-Git-Tag: v3_21~80^2~1 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/f257ec7c9ab6e14b11ea63378065db42105882b5?hp=bf065245fc3ed66c5aaf14236aa13d1688591c96 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. --- 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());