Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of framagit.org:simgrid/simgrid
[simgrid.git] / src / mc / inspect / mc_unw.cpp
index 746fb31..c93f195 100644 (file)
@@ -3,16 +3,14 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
-/** \file
- *  Libunwind support for mc_address_space objects.
- */
+/** \file Libunwind support for mc_address_space objects. */
 
 // We need this for the register indices:
 // #define _GNU_SOURCE
 
 #include "src/mc/inspect/mc_unw.hpp"
 #include "src/mc/inspect/Frame.hpp"
-#include "src/mc/remote/RemoteProcess.hpp"
+#include "src/mc/sosp/RemoteProcessMemory.hpp"
 
 #include <cstring>
 
@@ -213,15 +211,22 @@ unw_addr_space_t UnwindContext::createUnwindAddressSpace()
    *
    * Use nullptr as access_fpreg and resume, as we don't need them.
    */
-  unw_accessors_t accessors = {&find_proc_info, &put_unwind_info, &get_dyn_info_list_addr, &access_mem, &access_reg,
-                               nullptr,         nullptr,          &get_proc_name};
+  unw_accessors_t accessors        = {};
+  accessors.find_proc_info         = &find_proc_info;
+  accessors.put_unwind_info        = &put_unwind_info;
+  accessors.get_dyn_info_list_addr = &get_dyn_info_list_addr;
+  accessors.access_mem             = &access_mem;
+  accessors.access_reg             = &access_reg;
+  accessors.access_fpreg           = nullptr;
+  accessors.resume                 = nullptr;
+  accessors.get_proc_name          = &get_proc_name;
   return unw_create_addr_space(&accessors, BYTE_ORDER);
 }
 
-void UnwindContext::initialize(simgrid::mc::RemoteProcess* process, unw_context_t* c)
+void UnwindContext::initialize(simgrid::mc::RemoteProcessMemory& process_memory, const unw_context_t* c)
 {
-  this->address_space_ = process;
-  this->process_      = process;
+  this->address_space_ = &process_memory;
+  this->process_       = &process_memory;
 
   // Take a copy of the context for our own purpose:
   this->unwind_context_ = *c;