From 1944008aba63f42a611ec5fd36a681d474cb6e64 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Mon, 15 Jul 2019 00:15:47 +0200 Subject: [PATCH 1/1] MC: provide a workaround in the error msg seen on modern systems Fix https://framagit.org/simgrid/simgrid/issues/35 --- ChangeLog | 1 + src/mc/inspect/ObjectInformation.cpp | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index dc7208e70e..42792a477a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -25,6 +25,7 @@ Bugs: - FG#29 and FG#33: provide a new C API to mutexes and condition variables - FG#30: convert MSG_process_{un}ref to sg_actor_{un}ref - FG#34: SG_BARRIER_SERIAL_THREAD? + - FG#35: model-checker does not like buster-produced binaries ---------------------------------------------------------------------------- diff --git a/src/mc/inspect/ObjectInformation.cpp b/src/mc/inspect/ObjectInformation.cpp index 0dedb75bf1..a2440d954b 100644 --- a/src/mc/inspect/ObjectInformation.cpp +++ b/src/mc/inspect/ObjectInformation.cpp @@ -233,7 +233,10 @@ void find_object_address(std::vector const& maps, simgrid:: // This is the GNU_RELRO-part of the data segment: else if (reg.prot == PROT_READ) { - xbt_assert(not result->start_ro, "Multiple read only segments for %s, not supported", maps[i].pathname.c_str()); + xbt_assert(not result->start_ro, + "Multiple read-only segments for %s, not supported. Compiling with the following may help: -Wl,-z " + "-Wl,noseparate-code", + maps[i].pathname.c_str()); result->start_ro = (char*)reg.start_addr; result->end_ro = (char*)reg.end_addr; } -- 2.20.1