-/* Copyright (c) 2014-2019. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2014-2020. 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. */
"libm",
"libomp",
"libpapi",
+ "libpcre2",
"libpfm",
"libpgmath",
"libpthread",
"libunwind-ptrace",
"libunwind-x86",
"libunwind-x86_64",
- "libz"};
+ "libz",
+ "libkrb5support", /*odd behaviour on fedora rawhide ... remove these when fixed*/
+ "libkeyutils",
+ "libunistring",
+ "libbrotlidec",
+ "liblber",
+ "libldap",
+ "libcom_err",
+ "libk5crypto",
+ "libkrb5",
+ "libgssapi_krb5",
+ "libssl",
+ "libpsl",
+ "libssh",
+ "libidn2",
+ "libnghttp2",
+ "libcurl",
+ "libdebuginfod",
+ "libbrotlicommon",
+ "libsasl2",
+ "libresolv",
+ "libcrypt",
+ "libselinux"
+};
static bool is_simgrid_lib(const std::string& libname)
{
this->init_memory_map_info();
int fd = open_vm(this->pid_, O_RDWR);
- if (fd < 0)
- xbt_die("Could not open file for process virtual address space");
+ xbt_assert(fd >= 0, "Could not open file for process virtual address space");
this->memory_file = fd;
// Read std_heap (is a struct mdesc*):
const simgrid::mc::Variable* std_heap_var = this->find_variable("__mmalloc_default_mdp");
- if (not std_heap_var)
- xbt_die("No heap information in the target process");
- if (not std_heap_var->address)
- xbt_die("No constant address for this variable");
+ xbt_assert(std_heap_var, "No heap information in the target process");
+ xbt_assert(std_heap_var->address, "No constant address for this variable");
this->read_bytes(&this->heap_address, sizeof(mdesc*), remote(std_heap_var->address));
this->smx_actors_infos.clear();
continue;
xbt_assert(c > 0, "Could not read string from remote process");
- void* p = memchr(res.data() + off, '\0', c);
+ const void* p = memchr(res.data() + off, '\0', c);
if (p)
return std::string(res.data());
}
unsigned int cursor = 0;
- IgnoredRegion* current_region = nullptr;
+ const IgnoredRegion* current_region = nullptr;
int start = 0;
int end = ignored_regions_.size() - 1;
size_type cursor;
while (start <= end) {
cursor = start + (end - start) / 2;
- auto& current_region = ignored_heap_[cursor];
+ auto const& current_region = ignored_heap_[cursor];
if (current_region.address == region.address)
return;
else if (current_region.address < region.address)
size_type cursor;
while (start <= end) {
cursor = (start + end) / 2;
- auto& region = ignored_heap_[cursor];
+ auto const& region = ignored_heap_[cursor];
if (region.address < address)
start = cursor + 1;
else if ((char*)region.address <= ((char*)address + size)) {
return;
}
- simgrid::mc::dumpStack(stderr, std::move(cursor));
+ simgrid::mc::dumpStack(stderr, &cursor);
_UPT_destroy(context);
unw_destroy_addr_space(as);