X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/602438d4fc78f03a184aa70a05d46f239d25df8d..f150764ab6d151957355c437ad66146210cbf8f9:/src/mc/mc_checkpoint.c diff --git a/src/mc/mc_checkpoint.c b/src/mc/mc_checkpoint.c index 6b120afd89..b9a715ccd9 100644 --- a/src/mc/mc_checkpoint.c +++ b/src/mc/mc_checkpoint.c @@ -17,6 +17,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_checkpoint, mc, char *libsimgrid_path; +static void MC_find_object_address(memory_map_t maps, mc_object_info_t result); static void MC_get_plt_section(mc_object_info_t info); /************************************ Free functions **************************************/ @@ -234,15 +235,22 @@ void MC_init_memory_map_info(){ } -mc_object_info_t MC_find_object_address(memory_map_t maps, char* name) { +mc_object_info_t MC_find_object_info(memory_map_t maps, char* name) { mc_object_info_t result = MC_new_object_info(); result->file_name = xbt_strdup(name); result->start_data = NULL; result->start_text = NULL; + MC_find_object_address(maps, result); + MC_get_plt_section(result); + MC_dwarf_get_variables(result); + return result; +} +static void MC_find_object_address(memory_map_t maps, mc_object_info_t result) { unsigned int i = 0; s_map_region_t reg; - int len = strlen(basename(name)); + const char* name = result->file_name; + int len = strlen(basename(result->file_name)); while (i < maps->mapsize) { reg = maps->regions[i]; if (maps->regions[i].pathname == NULL || memcmp(basename(maps->regions[i].pathname), basename(name), len)){