From 0a8350a10cb7b9a9aef49f09499d1815a25cfcc6 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Mon, 16 Jul 2018 15:15:43 +0200 Subject: [PATCH] Try to fix MC with recent GNU ld (>= 2.30). It's failing with: ./src/mc/sosp/mc_checkpoint.cpp:205: [root/CRITICAL] Multiple read only segments for [...], not supported. --- tools/cmake/MakeLib.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/cmake/MakeLib.cmake b/tools/cmake/MakeLib.cmake index c72e6d5e28..9fa3a60243 100644 --- a/tools/cmake/MakeLib.cmake +++ b/tools/cmake/MakeLib.cmake @@ -120,6 +120,10 @@ if(CMAKE_COMPILER_IS_GNUCC AND GCCLIBATOMIC_LIBRARY) set(SIMGRID_DEP "${SIMGRID_DEP} -Wl,--as-needed -latomic -Wl,--no-as-needed") endif() +if(enable_model-checking AND CMAKE_COMPILER_IS_GNUCC AND LINKER_VERSION VERSION_GREATER_EQUAL "2.30") + set(SIMGRID_DEP "${SIMGRID_DEP} -Wl,-znoseparate-code") +endif() + target_link_libraries(simgrid ${SIMGRID_DEP}) # Dependencies from maintainer mode -- 2.20.1