Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
MC seems to just work on ARM now. Remove the forced compilation errors.
authorAugustin Degomme <adegomme@gmail.com>
Wed, 23 Feb 2022 10:31:52 +0000 (10:31 +0000)
committerAugustin Degomme <adegomme@gmail.com>
Wed, 23 Feb 2022 10:31:52 +0000 (10:31 +0000)
todo: check if UnwindContext::get_reg needs tweaking, but all mc tests pass

src/mc/inspect/mc_dwarf.cpp
src/mc/inspect/mc_unw.cpp

index c936038..bf6862f 100644 (file)
@@ -1198,7 +1198,7 @@ namespace dwarf {
  */
 int dwarf_register_to_libunwind(int dwarf_register)
 {
-#if defined(__x86_64__)
+#if defined(__x86_64__) || defined(__aarch64__)
   // It seems for this arch, DWARF and libunwind agree in the numbering:
   return dwarf_register;
 #elif defined(__i386__)
index 8a25eec..753c948 100644 (file)
@@ -228,7 +228,7 @@ void UnwindContext::initialize(simgrid::mc::RemoteProcess* process, unw_context_
 
   // Take a copy of the context for our own purpose:
   this->unwind_context_ = *c;
-#if SIMGRID_PROCESSOR_x86_64 || SIMGRID_PROCESSOR_i686
+#if SIMGRID_PROCESSOR_x86_64 || SIMGRID_PROCESSOR_i686 || defined(__aarch64__)
 #ifdef __linux__
   // On x86_64, ucontext_t contains a pointer to itself for FP registers.
   // We don't really need support for FR registers as they are caller saved