X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8173f52406580284c8ec5feab41784a8f4aed8ce..573a49afcc1a146f9776a7a772d87efd9db77657:/src/mc/mc_unw.cpp?ds=sidebyside diff --git a/src/mc/mc_unw.cpp b/src/mc/mc_unw.cpp index 6df54b80e3..f02a89fe3f 100644 --- a/src/mc/mc_unw.cpp +++ b/src/mc/mc_unw.cpp @@ -22,6 +22,8 @@ #include "mc_process.h" #include "mc_unw.h" +using simgrid::mc::remote; + extern "C" { // ***** Implementation @@ -81,7 +83,7 @@ static int access_mem(unw_addr_space_t as, mc_unw_context_t context = (mc_unw_context_t) arg; if (write) return - UNW_EREADONLYREG; - context->address_space->read_bytes(valp, sizeof(unw_word_t), addr); + context->address_space->read_bytes(valp, sizeof(unw_word_t), remote(addr)); return 0; } @@ -162,7 +164,7 @@ static int get_proc_name(unw_addr_space_t as, void* arg) { mc_unw_context_t context = (mc_unw_context_t) arg; - dw_frame_t frame = MC_process_find_function(context->process, (void*) addr); + dw_frame_t frame = context->process->find_function(remote(addr)); if (!frame) return - UNW_ENOINFO; *offp = (unw_word_t) frame->low_pc - addr; @@ -231,7 +233,7 @@ int mc_unw_init_cursor(unw_cursor_t *cursor, mc_unw_context_t context) mc_address_space_t as = context->address_space; mc_process_t process = dynamic_cast(as); - if (process && MC_process_is_self(process)) + if (process && process->is_self()) return unw_init_local(cursor, &context->context); return unw_init_remote(cursor, context->process->unw_addr_space, context);