[compiler-rt] 3341324 - [gwp_asan] Use __sanitizer_fast_backtrace on Fuchsia

Roland McGrath via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 28 16:48:24 PDT 2021


Author: Roland McGrath
Date: 2021-04-28T16:48:14-07:00
New Revision: 3341324d82f1278f91b8704048aff414abeaacdb

URL: https://github.com/llvm/llvm-project/commit/3341324d82f1278f91b8704048aff414abeaacdb
DIFF: https://github.com/llvm/llvm-project/commit/3341324d82f1278f91b8704048aff414abeaacdb.diff

LOG: [gwp_asan] Use __sanitizer_fast_backtrace on Fuchsia

Reviewed By: phosek, cryptoad, hctim

Differential Revision: https://reviews.llvm.org/D101407

Added: 
    

Modified: 
    compiler-rt/lib/gwp_asan/optional/backtrace_fuchsia.cpp

Removed: 
    


################################################################################
diff  --git a/compiler-rt/lib/gwp_asan/optional/backtrace_fuchsia.cpp b/compiler-rt/lib/gwp_asan/optional/backtrace_fuchsia.cpp
index 879312a7631e9..09b0325a6fc74 100644
--- a/compiler-rt/lib/gwp_asan/optional/backtrace_fuchsia.cpp
+++ b/compiler-rt/lib/gwp_asan/optional/backtrace_fuchsia.cpp
@@ -8,12 +8,18 @@
 
 #include "gwp_asan/optional/backtrace.h"
 
-// GWP-ASan on Fuchsia doesn't currently support backtraces.
+#include <zircon/sanitizer.h>
 
 namespace gwp_asan {
 namespace backtrace {
 
-options::Backtrace_t getBacktraceFunction() { return nullptr; }
+// Fuchsia's C library provides safe, fast, best-effort backtraces itself.
+options::Backtrace_t getBacktraceFunction() {
+  return __sanitizer_fast_backtrace;
+}
+
+// These are only used in fatal signal handling, which is not used on Fuchsia.
+
 PrintBacktrace_t getPrintBacktraceFunction() { return nullptr; }
 SegvBacktrace_t getSegvBacktraceFunction() { return nullptr; }
 


        


More information about the llvm-commits mailing list