Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Add comments/doxygen
[simgrid.git] / src / mc / mc_private.h
index 180d6f9..488a68a 100644 (file)
@@ -323,10 +323,6 @@ typedef struct s_mc_object_info {
   char* start_text;
   char* start_data;
   char* start_bss;
-  void* start_plt;
-  void* end_plt;
-  void* start_got_plt;
-  void* end_got_plt;
   xbt_dict_t local_variables; // xbt_dict_t<frame_name, dw_frame_t>
   xbt_dynar_t global_variables; // xbt_dynar_t<dw_variable_t>
   xbt_dict_t types; // xbt_dict_t<origin as hexadecimal string, dw_type_t>
@@ -336,6 +332,7 @@ mc_object_info_t MC_new_object_info(void);
 mc_object_info_t MC_find_object_info(memory_map_t maps, char* name);
 void MC_free_object_info(mc_object_info_t* p);
 
+xbt_dict_t MC_dwarf_get_location_list(const char *elf_file);
 void MC_dwarf_get_variables(mc_object_info_t info);
 void MC_dwarf_get_variables_libdw(mc_object_info_t info);
 const char* MC_dwarf_attrname(int attr);
@@ -412,8 +409,8 @@ typedef struct s_dw_variable{
   char *name;
   char *type_origin;
   union{
-    dw_location_t location;
-    void *address;
+    dw_location_t location; // For global==0
+    void *address; // For global!=0
   }address;
 }s_dw_variable_t, *dw_variable_t;
 
@@ -428,9 +425,18 @@ typedef struct s_dw_frame{
 }s_dw_frame_t, *dw_frame_t;
 
 void dw_type_free(dw_type_t t);
+void dw_variable_free(dw_variable_t v);
+void dw_variable_free_voidp(void *t);
+
+void MC_dwarf_register_global_variable(mc_object_info_t info, dw_variable_t variable);
+void MC_register_variable(mc_object_info_t info, dw_frame_t frame, dw_variable_t variable);
+void MC_dwarf_register_non_global_variable(mc_object_info_t info, dw_frame_t frame, dw_variable_t variable);
+void MC_dwarf_register_variable(mc_object_info_t info, dw_frame_t frame, dw_variable_t variable);
 
 /********************************** DWARF **********************************/
 
+Dwarf_Off MC_dwarf_resolve_location(unw_cursor_t* c, dw_location_t location, void* frame_pointer_address);
+
 /********************************** Miscellaneous **********************************/
 
 typedef struct s_local_variable{
@@ -442,7 +448,5 @@ typedef struct s_local_variable{
   int region;
 }s_local_variable_t, *local_variable_t;
 
-#define MC_USE_LIBDW_TYPES 1
-
 #endif