-/* Copyright (c) 2014-2018. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2014-2019. 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. */
"libboost_chrono",
"libboost_context",
"libboost_context-mt",
+ "libboost_stacktrace_backtrace",
"libboost_system",
"libboost_thread",
"libboost_timer",
"libomp",
"libpapi",
"libpfm",
+ "libpgmath",
"libpthread",
"libquadmath",
"librt",
const void* RemoteClient::read_bytes(void* buffer, std::size_t size, RemotePtr<void> address, int process_index,
ReadOptions options) const
{
+#if HAVE_SMPI
if (process_index != simgrid::mc::ProcessIndexDisabled) {
std::shared_ptr<simgrid::mc::ObjectInformation> const& info = this->find_object_info_rw(address);
-// Segment overlap is not handled.
-#if HAVE_SMPI
+ // Segment overlap is not handled.
if (info.get() && this->privatized(*info)) {
if (process_index < 0)
xbt_die("Missing process index");
size_t offset = address.address() - (std::uint64_t)info->start_rw;
address = remote((char*)privatization_region.address + offset);
}
-#endif
}
+#endif
if (pread_whole(this->memory_file, buffer, size, (size_t)address.address()) < 0)
xbt_die("Read at %p from process %lli failed", (void*)address.address(), (long long)this->pid_);
return buffer;