From: degomme Date: Wed, 15 Feb 2017 01:05:35 +0000 (+0100) Subject: This computation was incorrect and actually prevented this case to happen. X-Git-Tag: v3_15~380 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/baa4095049e892f4f09a4d67e698fdc7dbcf04ac?hp=b52a9425b04ab389c9e797bdea417715e2cd94bc This computation was incorrect and actually prevented this case to happen. This may fix the last bugs in privatization on some systems --- diff --git a/src/smpi/smpi_memory.cpp b/src/smpi/smpi_memory.cpp index ec7ee46b18..934885afa7 100644 --- a/src/smpi/smpi_memory.cpp +++ b/src/smpi/smpi_memory.cpp @@ -48,8 +48,8 @@ void smpi_get_executable_global_size() following the rw- area is the end of the data segment. It would be better to check with the size of the data segment. */ if (i != map.end() && i->pathname.empty() && (i->prot & PROT_RWX) == PROT_RW - && i->start_addr == (std::uint64_t) smpi_start_data_exe + smpi_size_data_exe) { - smpi_size_data_exe = i->end_addr - (std::uint64_t) smpi_start_data_exe; + && (char*)i->start_addr == smpi_start_data_exe + smpi_size_data_exe) { + smpi_size_data_exe = (char*)i->end_addr - smpi_start_data_exe; } return; }