1*d89ec533Spatrick //===-- backtrace_fuchsia.cpp -----------------------------------*- C++ -*-===// 2*d89ec533Spatrick // 3*d89ec533Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*d89ec533Spatrick // See https://llvm.org/LICENSE.txt for license information. 5*d89ec533Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*d89ec533Spatrick // 7*d89ec533Spatrick //===----------------------------------------------------------------------===// 8*d89ec533Spatrick 9*d89ec533Spatrick #include "gwp_asan/optional/backtrace.h" 10*d89ec533Spatrick 11*d89ec533Spatrick #include <zircon/sanitizer.h> 12*d89ec533Spatrick 13*d89ec533Spatrick namespace gwp_asan { 14*d89ec533Spatrick namespace backtrace { 15*d89ec533Spatrick 16*d89ec533Spatrick // Fuchsia's C library provides safe, fast, best-effort backtraces itself. getBacktraceFunction()17*d89ec533Spatrickoptions::Backtrace_t getBacktraceFunction() { 18*d89ec533Spatrick return __sanitizer_fast_backtrace; 19*d89ec533Spatrick } 20*d89ec533Spatrick 21*d89ec533Spatrick // These are only used in fatal signal handling, which is not used on Fuchsia. 22*d89ec533Spatrick getPrintBacktraceFunction()23*d89ec533SpatrickPrintBacktrace_t getPrintBacktraceFunction() { return nullptr; } getSegvBacktraceFunction()24*d89ec533SpatrickSegvBacktrace_t getSegvBacktraceFunction() { return nullptr; } 25*d89ec533Spatrick 26*d89ec533Spatrick } // namespace backtrace 27*d89ec533Spatrick } // namespace gwp_asan 28