X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5045b9c72e64d6dedf60d8bf51038c3f05d874e2..5eeb3c843b60e9ba5e1a952ffe83df2a4d8f5fa0:/src/mc/mc_unw.cpp diff --git a/src/mc/mc_unw.cpp b/src/mc/mc_unw.cpp index a48ab17720..7961ecdf1b 100644 --- a/src/mc/mc_unw.cpp +++ b/src/mc/mc_unw.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2015. The SimGrid Team. +/* Copyright (c) 2015-2018. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -11,7 +11,7 @@ // We need this for the register indices: // #define _GNU_SOURCE -#include +#include // On x86_64, libunwind unw_context_t has the same layout as ucontext_t: #include @@ -22,9 +22,9 @@ typedef register_t greg_t; #include -#include "src/mc/Process.hpp" -#include "src/mc/mc_unw.h" #include "src/mc/Frame.hpp" +#include "src/mc/mc_unw.hpp" +#include "src/mc/remote/RemoteClient.hpp" using simgrid::mc::remote; @@ -154,7 +154,7 @@ int UnwindContext::access_reg(unw_addr_space_t as, if (write) return -UNW_EREADONLYREG; greg_t* preg = (greg_t*) get_reg(context, regnum); - if (!preg) + if (not preg) return -UNW_EBADREG; *valp = *preg; return 0; @@ -192,7 +192,7 @@ int UnwindContext::get_proc_name(unw_addr_space_t as, { simgrid::mc::UnwindContext* context = (simgrid::mc::UnwindContext*) arg; simgrid::mc::Frame* frame = context->process_->find_function(remote(addr)); - if (!frame) + if (not frame) return - UNW_ENOINFO; *offp = (unw_word_t) frame->range.begin() - addr; @@ -236,7 +236,7 @@ void UnwindContext::clear() process_ = nullptr; } -void UnwindContext::initialize(simgrid::mc::Process* process, unw_context_t* c) +void UnwindContext::initialize(simgrid::mc::RemoteClient* process, unw_context_t* c) { clear(); @@ -251,15 +251,12 @@ void UnwindContext::initialize(simgrid::mc::Process* process, unw_context_t* c) // We don't really need support for FR registers as they are caller saved // and probably never use those fields as libunwind-x86_64 does not read // FP registers from the unw_context_t - // but we fix the pointer in order to avoid dangling pointers: - // context->context_.uc_mcontext.fpregs = &(context->context.__fpregs_mem); - // Let's ignore this and see what happens: this->unwindContext_.uc_mcontext.fpregs = nullptr; # endif #else // Do we need to do any fixup like this? - #error Target CPU type is not handled. +# error Target CPU type is not handled. #endif }