Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Avoid costly exceptions when looking into a map.
[simgrid.git] / src / mc / mc_dwarf.hpp
index d5b31f5..3e2d8e3 100644 (file)
@@ -1,36 +1,32 @@
-/* Copyright (c) 2008-2015. The SimGrid Team.
- * All rights reserved.                                                     */
+/* Copyright (c) 2008-2017. The SimGrid Team. All rights reserved.          */
 
 /* 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. */
 
-#if !defined(SIMGRID_MC_DWARF_HPP)
+#ifndef SIMGRID_MC_DWARF_HPP
 #define SIMGRID_MC_DWARF_HPP
 
-#include <memory>
-
-#include <string.h>
-
-#include <xbt/sysdep.h>
+#include "xbt/base.h"
 
 #define DW_LANG_Objc DW_LANG_ObjC       /* fix spelling error in older dwarf.h */
 #include <dwarf.h>
 
-#include "mc/Variable.hpp"
-#include "mc/mc_memory_map.h"
-
-XBT_PRIVATE std::shared_ptr<simgrid::mc::ObjectInformation> MC_find_object_info(
-  std::vector<simgrid::mc::VmMap> const& maps, const char* name, int executable);
-XBT_PRIVATE void MC_post_process_object_info(simgrid::mc::Process* process, simgrid::mc::ObjectInformation* info);
+#include "src/mc/mc_forward.hpp"
 
-XBT_PRIVATE void MC_dwarf_get_variables(simgrid::mc::ObjectInformation* info);
-XBT_PRIVATE void MC_dwarf_get_variables_libdw(simgrid::mc::ObjectInformation* info);
+namespace simgrid {
+namespace dwarf {
 
-XBT_PRIVATE const char* MC_dwarf_attrname(int attr);
-XBT_PRIVATE const char* MC_dwarf_tagname(int tag);
+XBT_PRIVATE const char* attrname(int attr);
+XBT_PRIVATE const char* tagname(int tag);
 
-XBT_PRIVATE void* mc_member_resolve(
+XBT_PRIVATE void* resolve_member(
   const void* base, simgrid::mc::Type* type, simgrid::mc::Member* member,
   simgrid::mc::AddressSpace* snapshot, int process_index);
 
+XBT_PRIVATE
+int dwarf_register_to_libunwind(int dwarf_register);
+
+}
+}
+
 #endif