This patch contains various fixes for the unwinding and backtrace machinery on the SPARC, which doesn't work correctly in various cases. It was tested with GCC on SPARC/Solaris and SPARC/Linux.
Patch by Eric Botcazou.
Paths
| Differential D58431
SanitizerCommon: fixes for unwinding & backtrace on SPARC ClosedPublic Authored by ebotcazou on Feb 20 2019, 2:53 AM.
Details Summary This patch contains various fixes for the unwinding and backtrace machinery on the SPARC, which doesn't work correctly in various cases. It was tested with GCC on SPARC/Solaris and SPARC/Linux. Patch by Eric Botcazou.
Diff Detail
Event TimelineHerald added subscribers: llvm-commits, jdoerfert, fedor.sergeev and 2 others. · View Herald Transcript vitalybuka added inline comments. ebotcazou added inline comments.
Comment Actions Any objection to accepting this? We need it alongside D58433 to fix the Sanitizer failures in the GCC testsuite on the SPARC platforms and I'd rather not maintain it separately in the GCC tree. This revision is now accepted and ready to land.Feb 27 2019, 2:07 PM Comment Actions Conflict in sanitizer_common/sanitizer_stacktrace_sparc.cc fixed. Sorry for bothering you again, but yln's recent changes are in the way now. Comment Actions Conflict in sanitizer_common/sanitizer_stacktrace_sparc.cc fixed. Sorry for bothering you again, but yln's recent changes are in the way now. Closed by commit rL355965: SanitizerCommon: fixes for unwinding & backtrace on SPARC (authored by vitalybuka). · Explain WhyMar 12 2019, 1:30 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 188687 compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h
compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.cc
compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_sparc.cccompiler-rt/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cc
|
I am not sure that we need to compensate here
usually it's from GetStackTrace which pass the current PC or PC from signal