[PATCH] D58431: SanitizerCommon: fixes for unwinding & backtrace on SPARC

Vitaly Buka via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 20 11:31:50 PST 2019


vitalybuka added inline comments.


================
Comment at: compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_sparc.cc:35
+  // on the SPARC and not the return address, so we need to compensate.
+  trace_buffer[0] = GetNextInstructionPc(pc);
+#else
----------------
I am not sure that we need to compensate here
usually it's from GetStackTrace which pass the current PC or PC from signal


================
Comment at: compiler-rt/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cc:139
+#if defined(__GNUC__) && defined(__sparc__)
+  // __builtin_return_address returns the address of the call instruction
+  // on the SPARC and not the return address, so we need to compensate.
----------------
that's strange
is this know issue?


Repository:
  rCRT Compiler Runtime

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58431/new/

https://reviews.llvm.org/D58431





More information about the llvm-commits mailing list