Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
MC: add icc libs to filtered_libraries.
[simgrid.git] / src / mc / remote / RemoteClient.cpp
index 4f87d9a..521c794 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2014-2017. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2014-2018. 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. */
@@ -85,6 +85,9 @@ static const std::vector<std::string> filtered_libraries = {
     "libelf",
     "libevent",
     "libgcc_s",
+    "libimf",
+    "libintlc",
+    "libirng",
     "liblua5.1",
     "liblua5.3",
     "liblzma",
@@ -92,6 +95,7 @@ static const std::vector<std::string> filtered_libraries = {
     "libpthread",
     "librt",
     "libstdc++",
+    "libsvml",
     "libunwind",
     "libunwind-x86_64",
     "libunwind-x86",
@@ -415,7 +419,6 @@ std::string RemoteClient::read_string(RemotePtr<char> address) const
   if (not address)
     return {};
 
-  // TODO, use std::vector with .data() in C++17 to avoid useless copies
   std::vector<char> res(128);
   off_t off = 0;
 
@@ -444,7 +447,7 @@ const void* RemoteClient::read_bytes(void* buffer, std::size_t size, RemotePtr<v
                                      ReadOptions options) const
 {
   if (process_index != simgrid::mc::ProcessIndexDisabled) {
-    std::shared_ptr<simgrid::mc::ObjectInformation> const& info = this->find_object_info_rw((void*)address.address());
+    std::shared_ptr<simgrid::mc::ObjectInformation> const& info = this->find_object_info_rw(address);
 // Segment overlap is not handled.
 #if HAVE_SMPI
     if (info.get() && this->privatized(*info)) {
@@ -586,10 +589,7 @@ void RemoteClient::unignore_heap(void* address, size_t size)
   while (start <= end) {
     cursor       = (start + end) / 2;
     auto& region = ignored_heap_[cursor];
-    if (region.address == address) {
-      ignored_heap_.erase(ignored_heap_.begin() + cursor);
-      return;
-    } else if (region.address < address)
+    if (region.address < address)
       start = cursor + 1;
     else if ((char*)region.address <= ((char*)address + size)) {
       ignored_heap_.erase(ignored_heap_.begin() + cursor);
@@ -649,17 +649,16 @@ void RemoteClient::dumpStack()
 
   _UPT_destroy(context);
   unw_destroy_addr_space(as);
-  return;
 }
 
 bool RemoteClient::actor_is_enabled(aid_t pid)
 {
-  s_mc_message_actor_enabled msg{MC_MESSAGE_ACTOR_ENABLED, pid};
+  s_mc_message_actor_enabled_t msg{MC_MESSAGE_ACTOR_ENABLED, pid};
   process()->getChannel().send(msg);
   char buff[MC_MESSAGE_LENGTH];
   ssize_t received = process()->getChannel().receive(buff, MC_MESSAGE_LENGTH, true);
-  xbt_assert(received == sizeof(s_mc_message_int), "Unexpected size in answer to ACTOR_ENABLED");
-  return ((mc_message_int_t*)buff)->value;
+  xbt_assert(received == sizeof(s_mc_message_int_t), "Unexpected size in answer to ACTOR_ENABLED");
+  return ((s_mc_message_int_t*)buff)->value;
 }
 }
 }