X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f43536687685f8e4ff5c43fa22e571750327e5ed..c38fbb629ac95a6ad9cdc93392a263a856bfb323:/src/mc/mc_location.h diff --git a/src/mc/mc_location.h b/src/mc/mc_location.h index 455a71630d..1f82a16d34 100644 --- a/src/mc/mc_location.h +++ b/src/mc/mc_location.h @@ -13,6 +13,7 @@ #include #include +#include #include #include "mc_base.h" @@ -22,15 +23,8 @@ namespace simgrid { namespace mc { -typedef struct -{ - uint8_t atom; - std::uint64_t number; - std::uint64_t number2; - std::uint64_t offset; -} DwarfInstruction; +typedef std::vector DwarfExpression; -typedef std::vector DwarfExpression; /** \brief A DWARF expression with optional validity contraints */ class LocationListEntry { @@ -107,6 +101,10 @@ void mc_dwarf_resolve_locations( void* frame_pointer_address, simgrid::mc::AddressSpace* address_space, int process_index); +XBT_PRIVATE void mc_dwarf_location_list_init( + simgrid::mc::LocationList*, simgrid::mc::ObjectInformation* info, Dwarf_Die* die, + Dwarf_Attribute* attr); + #define MC_EXPRESSION_STACK_SIZE 64 #define MC_EXPRESSION_OK 0 @@ -128,9 +126,8 @@ typedef struct s_mc_expression_state { int process_index; } s_mc_expression_state_t, *mc_expression_state_t; -int mc_dwarf_execute_expression( - size_t n, const simgrid::mc::DwarfInstruction* ops, mc_expression_state_t state); - +XBT_PUBLIC(int) mc_dwarf_execute_expression( + size_t n, const Dwarf_Op* ops, mc_expression_state_t state); void* mc_find_frame_base( simgrid::mc::Frame* frame, simgrid::mc::ObjectInformation* object_info, unw_cursor_t* unw_cursor);