A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[mc] Move things in simgrid::mc
[simgrid.git]
/
src
/
mc
/
mc_unw.cpp
diff --git
a/src/mc/mc_unw.cpp
b/src/mc/mc_unw.cpp
index
0d78305
..
ab43771
100644
(file)
--- a/
src/mc/mc_unw.cpp
+++ b/
src/mc/mc_unw.cpp
@@
-18,9
+18,9
@@
#include <libunwind.h>
#include <libunwind.h>
-#include "
mc_object_info.h
"
-#include "
mc_process
.h"
-#include "
mc_unw.h
"
+#include "
src/mc/Process.hpp
"
+#include "
src/mc/mc_unw
.h"
+#include "
src/mc/Frame.hpp
"
using simgrid::mc::remote;
using simgrid::mc::remote;
@@
-109,10
+109,10
@@
static void* get_reg(unw_context_t* context, unw_regnum_t regnum)
case UNW_X86_64_R14: return &mcontext->gregs[REG_R14];
case UNW_X86_64_R15: return &mcontext->gregs[REG_R15];
case UNW_X86_64_RIP: return &mcontext->gregs[REG_RIP];
case UNW_X86_64_R14: return &mcontext->gregs[REG_R14];
case UNW_X86_64_R15: return &mcontext->gregs[REG_R15];
case UNW_X86_64_RIP: return &mcontext->gregs[REG_RIP];
- default: return
NULL
;
+ default: return
nullptr
;
}
#else
}
#else
- return
NULL
;
+ return
nullptr
;
#endif
}
#endif
}
@@
-167,7
+167,7
@@
static int get_proc_name(unw_addr_space_t as,
simgrid::mc::Frame* frame = context->process->find_function(remote(addr));
if (!frame)
return - UNW_ENOINFO;
simgrid::mc::Frame* frame = context->process->find_function(remote(addr));
if (!frame)
return - UNW_ENOINFO;
- *offp = (unw_word_t) frame->
low_pc
- addr;
+ *offp = (unw_word_t) frame->
range.begin()
- addr;
strncpy(bufp, frame->name.c_str(), buf_len);
if (bufp[buf_len - 1]) {
strncpy(bufp, frame->name.c_str(), buf_len);
if (bufp[buf_len - 1]) {
@@
-223,12
+223,6
@@
int mc_unw_init_cursor(unw_cursor_t *cursor, mc_unw_context_t context)
{
if (!context->process || !context->address_space)
return -UNW_EUNSPEC;
{
if (!context->process || !context->address_space)
return -UNW_EUNSPEC;
- simgrid::mc::AddressSpace* as = context->address_space;
-
- simgrid::mc::Process* process = dynamic_cast<simgrid::mc::Process*>(as);
- if (process && process->is_self())
- return unw_init_local(cursor, &context->context);
-
return unw_init_remote(cursor, context->process->unw_addr_space, context);
}
return unw_init_remote(cursor, context->process->unw_addr_space, context);
}