[PATCH] D91618: [sanitizer_common][test] Disable FastUnwindTest.* on SPARC

Rainer Orth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 17 04:49:26 PST 2020


ro created this revision.
ro added a reviewer: vitalybuka.
ro added a project: Sanitizers.
Herald added subscribers: Sanitizers, fedor.sergeev, jyknight.
ro requested review of this revision.

Many of the `FastUnwindTest.*` tests `FAIL` on SPARC, both Solaris and Linux.  The issue is that the fake stacks used in those tests don't match the requirements of the SPARC unwinder in `sanitizer_stacktrace_sparc.cpp` which has to look at the register window save area.

I'm disabling all the tests, even those few that `PASS` (`OneFrameStackTrace`, `ZeroFramesStackTrace`, `ShortStackTrace`).

Tested on `sparcv9-sun-solaris2.11`.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D91618

Files:
  compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp


Index: compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp
===================================================================
--- compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp
+++ compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp
@@ -68,7 +68,8 @@
   UnmapOrDie(mapping, 2 * ps);
 }
 
-#if SANITIZER_CAN_FAST_UNWIND
+#if SANITIZER_CAN_FAST_UNWIND && !defined(__sparc__)
+// Fake stacks don't meet SPARC UnwindFast requirements.
 
 void FastUnwindTest::UnwindFast() {
   trace.UnwindFast(start_pc, fake_bp, fake_top, fake_bottom, kStackTraceMax);
@@ -145,7 +146,7 @@
   }
 }
 
-#endif // SANITIZER_CAN_FAST_UNWIND
+#endif // SANITIZER_CAN_FAST_UNWIND && !__sparc__
 
 TEST(SlowUnwindTest, ShortStackTrace) {
   BufferedStackTrace stack;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D91618.305743.patch
Type: text/x-patch
Size: 796 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201117/7b3d63f5/attachment.bin>


More information about the llvm-commits mailing list