diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.cc b/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.cc index 9fe6656fa5d9..f67df7e94b45 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.cc +++ b/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.cc @@ -13,7 +13,6 @@ #include "sanitizer_common.h" #include "sanitizer_flags.h" -#include "sanitizer_libc.h" #include "sanitizer_procmaps.h" #include "sanitizer_stacktrace.h" #include "sanitizer_symbolizer.h" @@ -35,11 +34,6 @@ uptr StackTrace::GetPreviousInstructionPc(uptr pc) { #endif } -void StackTrace::CopyFrom(const uptr *src, uptr src_size) { - size = Min(src_size, kStackTraceMax); - internal_memcpy(trace, src, sizeof(trace[0]) * size); -} - static void PrintStackFramePrefix(uptr frame_num, uptr pc) { Printf(" #%zu 0x%zx", frame_num, pc); } diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h b/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h index e7e244aaf5a7..c191d891832f 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h +++ b/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h @@ -37,7 +37,12 @@ struct StackTrace { static void PrintStack(const uptr *addr, uptr size, bool symbolize, SymbolizeCallback symbolize_callback); - void CopyFrom(const uptr *src, uptr src_size); + void CopyFrom(const uptr *src, uptr src_size) { + size = src_size; + if (size > kStackTraceMax) size = kStackTraceMax; + for (uptr i = 0; i < size; i++) + trace[i] = src[i]; + } void Unwind(uptr max_depth, uptr pc, uptr bp, uptr stack_top, uptr stack_bottom, bool fast);