diff --git a/runtime/signal_catcher.cc b/runtime/signal_catcher.cc
index 20c85c1..8da5fee 100644
--- a/runtime/signal_catcher.cc
+++ b/runtime/signal_catcher.cc
@@ -103,18 +103,14 @@
 }
 
 void SignalCatcher::Output(const std::string& s) {
-#if defined(ART_TARGET_ANDROID)
   ScopedThreadStateChange tsc(Thread::Current(), kWaitingForSignalCatcherOutput);
-  PaletteStatus status = PaletteTombstonedMessage(s.data(), s.size());
+  PaletteStatus status = PaletteWriteCrashThreadStacks(s.data(), s.size());
   if (status == PaletteStatus::kOkay) {
     LOG(INFO) << "Wrote stack traces to tombstoned";
   } else {
-    CHECK(status == PaletteStatus::kCheckErrno);
-    PLOG(ERROR) << "Failed to write stack traces to tombstoned";
+    CHECK(status == PaletteStatus::kFailedCheckLog);
+    LOG(ERROR) << "Failed to write stack traces to tombstoned";
   }
-#else
-  LOG(INFO) << s;
-#endif
 }
 
 void SignalCatcher::HandleSigQuit() {
