Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[smpi] Use virtual memory layout to find the data segment
authorGabriel Corona <gabriel.corona@loria.fr>
Tue, 3 Nov 2015 13:05:14 +0000 (14:05 +0100)
committerGabriel Corona <gabriel.corona@loria.fr>
Thu, 5 Nov 2015 13:17:20 +0000 (14:17 +0100)
commit3bda7845c0cceaaeedd5d0371434927c8cf6231d
tree72d3054dd8f863c6b4664fcc005826199f2b769c
parent9cf73cc09740865d0de90546a12b2e2d74cfaf6f
[smpi] Use virtual memory layout to find the data segment

... Instead of extrating the position of the .data and .bss sections
with objdump:

* don't spawn a separate process (objdump);

* works even with PIE;

* works even without section header table;

* works even if weird sections are used;

* works at the segment granuality instead of the section granularity.

However some heuristic is used which might break in some cases: using
the help of the program header table would be a good idea (but would
add a dependency on ELF).

Currently only implemented on Linux but the SMPI privatisation was
only available on Linux anyway.
15 files changed:
CMakeLists.txt
src/mc/Process.cpp
src/mc/Process.hpp
src/mc/mc_checkpoint.cpp
src/mc/mc_dwarf.cpp
src/mc/mc_dwarf.hpp
src/mc/mc_global.cpp
src/mc/mc_object_info.h
src/mc/mc_private.h
src/smpi/smpi_bench.c
src/smpi/smpi_memory.cpp [new file with mode: 0644]
src/xbt/log.c
src/xbt/memory_map.cpp [moved from src/mc/memory_map.cpp with 91% similarity]
src/xbt/memory_map.hpp [moved from src/mc/mc_memory_map.h with 78% similarity]
tools/cmake/DefinePackages.cmake