#include <assert.h>
#include <stddef.h>
#include <stdint.h>
#include <string.h>
#include "gwp_asan/optional/backtrace.h"
#include "gwp_asan/options.h"
#include "sanitizer_common/sanitizer_common.h"
#include "sanitizer_common/sanitizer_flag_parser.h"
#include "sanitizer_common/sanitizer_flags.h"
#include "sanitizer_common/sanitizer_stacktrace.h"
void __sanitizer::BufferedStackTrace::UnwindImpl(uptr pc, uptr bp,
void *context,
bool request_fast,
u32 max_depth) { … }
namespace {
size_t BacktraceCommon(uintptr_t *TraceBuffer, size_t Size, void *Context) { … }
size_t Backtrace(uintptr_t *TraceBuffer, size_t Size) { … }
size_t SegvBacktrace(uintptr_t *TraceBuffer, size_t Size, void *Context) { … }
static void PrintBacktrace(uintptr_t *Trace, size_t TraceLength,
gwp_asan::Printf_t Printf) { … }
}
namespace gwp_asan {
namespace backtrace {
options::Backtrace_t getBacktraceFunction() { … }
PrintBacktrace_t getPrintBacktraceFunction() { … }
SegvBacktrace_t getSegvBacktraceFunction() { … }
}
}