Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
add another library to excludes to please mc
[simgrid.git] / src / mc / remote / RemoteClient.cpp
index 521c794..f137cb2 100644 (file)
@@ -35,8 +35,8 @@
 #include <xbt/mmalloc.h>
 
 #include "src/mc/mc_smx.hpp"
-#include "src/mc/mc_snapshot.hpp"
 #include "src/mc/mc_unw.hpp"
+#include "src/mc/sosp/mc_snapshot.hpp"
 
 #include "src/mc/AddressSpace.hpp"
 #include "src/mc/ObjectInformation.hpp"
@@ -74,6 +74,8 @@ static const std::vector<std::string> filtered_libraries = {
     "libboost_context-mt",
     "libboost_system",
     "libboost_thread",
+    "libboost_timer",
+    "libboost_unit_test_framework",
     "libc",
     "libc++",
     "libcdt",
@@ -83,8 +85,11 @@ static const std::vector<std::string> filtered_libraries = {
     "libdl",
     "libdw",
     "libelf",
+    "libexecinfo",
+    "libflang",
     "libevent",
     "libgcc_s",
+    "libgfortran",
     "libimf",
     "libintlc",
     "libirng",
@@ -92,7 +97,10 @@ static const std::vector<std::string> filtered_libraries = {
     "liblua5.3",
     "liblzma",
     "libm",
+    "libpapi",
+    "libpfm",
     "libpthread",
+    "libquadmath",
     "librt",
     "libstdc++",
     "libsvml",
@@ -114,19 +122,18 @@ static bool is_filtered_lib(const std::string& libname)
 
 static std::string get_lib_name(const std::string& pathname)
 {
-  constexpr char digits[]  = ".0123456789";
-  std::string map_basename = simgrid::xbt::Path(pathname).getBasename();
+  std::string map_basename = simgrid::xbt::Path(pathname).get_base_name();
   std::string libname;
 
   size_t pos = map_basename.rfind(".so");
-  if (pos != std::string::npos && map_basename.find_first_not_of(digits, pos + 3) == std::string::npos) {
-    // strip the extension (matching regex "\.so[.0-9]*$")
+  if (pos != std::string::npos) {
+    // strip the extension (matching regex "\.so.*$")
     libname.assign(map_basename, 0, pos);
 
     // strip the version suffix (matching regex "-[.0-9-]*$")
     while (true) {
       pos = libname.rfind('-');
-      if (pos == std::string::npos || libname.find_first_not_of(digits, pos + 1) != std::string::npos)
+      if (pos == std::string::npos || libname.find_first_not_of(".0123456789", pos + 1) != std::string::npos)
         break;
       libname.erase(pos);
     }