It does not seem to be mandatory, and sanitizers are complaining.
Let's see if it passes on CI servers.
extern "C" void _gfortran_set_args(int, char **);
#endif
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";
#if HAVE_PAPI
#include "papi.h"
std::string papi_default_config_name = "default";
rank++;
// Load the copy and resolve the entry point:
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<bool>("smpi/keep-temps") == false) {
unlink(target_executable.c_str());
int saved_errno = errno;
if (simgrid::config::get_value<bool>("smpi/keep-temps") == false) {
unlink(target_executable.c_str());