+void free_memory_map(memory_map_t map);
+void get_libsimgrid_plt_section(void);
+void get_binary_plt_section(void);
+
+extern void *start_data_libsimgrid;
+extern void *start_data_binary;
+extern void *start_bss_binary;
+extern char *libsimgrid_path;
+extern void *start_text_libsimgrid;
+extern void *start_bss_libsimgrid;
+extern void *start_plt_libsimgrid;
+extern void *end_plt_libsimgrid;
+extern void *start_plt_binary;
+extern void *end_plt_binary;
+extern void *start_got_plt_libsimgrid;
+extern void *end_got_plt_libsimgrid;
+extern void *start_got_plt_binary;
+extern void *end_got_plt_binary;
+
+
+/********************************** Snapshot comparison **********************************/
+
+typedef struct s_mc_comparison_times{
+ double nb_processes_comparison_time;
+ double bytes_used_comparison_time;
+ double stacks_sizes_comparison_time;
+ double binary_global_variables_comparison_time;
+ double libsimgrid_global_variables_comparison_time;
+ double heap_comparison_time;
+ double stacks_comparison_time;
+ double hash_global_variables_comparison_time;
+ double hash_local_variables_comparison_time;
+}s_mc_comparison_times_t, *mc_comparison_times_t;
+
+extern mc_comparison_times_t mc_comp_times;
+extern double mc_snapshot_comparison_time;
+
+int snapshot_compare(mc_snapshot_t s1, mc_snapshot_t s2);
+int SIMIX_pre_mc_compare_snapshots(smx_simcall_t simcall, mc_snapshot_t s1, mc_snapshot_t s2);
+void print_comparison_times(void);
+
+//#define MC_DEBUG 1
+#define MC_VERBOSE 1
+