#include <assert.h>
#include <execinfo.h>
#include <stddef.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include "gwp_asan/definitions.h"
#include "gwp_asan/optional/backtrace.h"
#include "gwp_asan/optional/printf.h"
#include "gwp_asan/options.h"
namespace {
size_t Backtrace(uintptr_t *TraceBuffer, size_t Size) { … }
GWP_ASAN_ALWAYS_INLINE size_t SegvBacktrace(uintptr_t *TraceBuffer, size_t Size,
void * ) { … }
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() { … }
}
}