diff --git a/compiler-rt/lib/gwp_asan/optional/backtrace_fuchsia.cpp b/compiler-rt/lib/gwp_asan/optional/backtrace_fuchsia.cpp --- 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 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; }