[asan] even more refactoring to move StackTrace to sanitizer_common

llvm-svn: 162754
diff --git a/compiler-rt/lib/asan/asan_stack.h b/compiler-rt/lib/asan/asan_stack.h
index 0d483b9..2c72503 100644
--- a/compiler-rt/lib/asan/asan_stack.h
+++ b/compiler-rt/lib/asan/asan_stack.h
@@ -21,13 +21,14 @@
 static const uptr kStackTraceMax = 64;
 
 struct StackTrace {
+  typedef bool (*SymbolizeCallback)(const void *pc, char *out_buffer,
+                                     int out_size);
   uptr size;
   uptr max_size;
   uptr trace[kStackTraceMax];
-  static void PrintStack(uptr *addr, uptr size);
-  void PrintStack() {
-    PrintStack(this->trace, this->size);
-  }
+  static void PrintStack(uptr *addr, uptr size,
+                         bool symbolize, const char *strip_file_prefix,
+                         SymbolizeCallback symbolize_callback);
   void CopyTo(uptr *dst, uptr dst_size) {
     for (uptr i = 0; i < size && i < dst_size; i++)
       dst[i] = trace[i];
@@ -53,7 +54,8 @@
                               u32 *compressed, uptr size);
 };
 
-void GetStackTrace(StackTrace *trace, uptr max_s, uptr pc, uptr bp);
+void GetStackTrace(StackTrace *stack, uptr max_s, uptr pc, uptr bp);
+void PrintStack(StackTrace *stack);
 
 
 
@@ -100,7 +102,7 @@
 #define PRINT_CURRENT_STACK()                    \
   {                                              \
     GET_STACK_TRACE_HERE(kStackTraceMax);        \
-    stack.PrintStack();                          \
+    PrintStack(&stack);                          \
   }
 
 #endif  // ASAN_STACK_H