summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Samsonov <samsonov@google.com>2013-10-14 07:36:10 +0000
committerAlexey Samsonov <samsonov@google.com>2013-10-14 07:36:10 +0000
commitd09c91ac4e2f544651921b7cb307e8aaae8948d1 (patch)
tree9ae37c6bb5962d557c66a4a441884ef66aef47ea
parent6a135be19fa0cc594fd61f9caf3c0be2b7f1466e (diff)
downloadcompiler-rt-d09c91ac4e2f544651921b7cb307e8aaae8948d1.tar.gz
compiler-rt-d09c91ac4e2f544651921b7cb307e8aaae8948d1.tar.bz2
compiler-rt-d09c91ac4e2f544651921b7cb307e8aaae8948d1.tar.xz
[Sanitizer] Return implementation of StackTrace::CopyFrom to header
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@192574 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/sanitizer_common/sanitizer_stacktrace.cc6
-rw-r--r--lib/sanitizer_common/sanitizer_stacktrace.h7
2 files changed, 6 insertions, 7 deletions
diff --git a/lib/sanitizer_common/sanitizer_stacktrace.cc b/lib/sanitizer_common/sanitizer_stacktrace.cc
index 9fe6656f..f67df7e9 100644
--- a/lib/sanitizer_common/sanitizer_stacktrace.cc
+++ b/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/lib/sanitizer_common/sanitizer_stacktrace.h b/lib/sanitizer_common/sanitizer_stacktrace.h
index e7e244aa..c191d891 100644
--- a/lib/sanitizer_common/sanitizer_stacktrace.h
+++ b/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);