[llvm-commits] [compiler-rt] r160672 - in /compiler-rt/trunk/lib/tsan: go/test.c go/tsan_go.cc rtl/tsan_report.cc

Dmitry Vyukov dvyukov at google.com
Tue Jul 24 05:29:43 PDT 2012


Author: dvyukov
Date: Tue Jul 24 07:29:43 2012
New Revision: 160672

URL: http://llvm.org/viewvc/llvm-project?rev=160672&view=rev
Log:
tsan: align report style with Go internal format

Modified:
    compiler-rt/trunk/lib/tsan/go/test.c
    compiler-rt/trunk/lib/tsan/go/tsan_go.cc
    compiler-rt/trunk/lib/tsan/rtl/tsan_report.cc

Modified: compiler-rt/trunk/lib/tsan/go/test.c
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/go/test.c?rev=160672&r1=160671&r2=160672&view=diff
==============================================================================
--- compiler-rt/trunk/lib/tsan/go/test.c (original)
+++ compiler-rt/trunk/lib/tsan/go/test.c Tue Jul 24 07:29:43 2012
@@ -4,7 +4,7 @@
 void __tsan_fini();
 void __tsan_event(int typ, int tid, void *pc, void *addr, int info);
 
-int goCallbackCommentPc(void *pc, char **img, char **rtn, char **file, int *l) {
+int __tsan_symbolize(void *pc, char **img, char **rtn, char **file, int *l) {
   return 0;
 }
 

Modified: compiler-rt/trunk/lib/tsan/go/tsan_go.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/go/tsan_go.cc?rev=160672&r1=160671&r2=160672&view=diff
==============================================================================
--- compiler-rt/trunk/lib/tsan/go/tsan_go.cc (original)
+++ compiler-rt/trunk/lib/tsan/go/tsan_go.cc Tue Jul 24 07:29:43 2012
@@ -37,24 +37,22 @@
 void internal_start_thread(void(*func)(void*), void *arg) {
 }
 
-extern "C" int goCallbackCommentPc(uptr pc, char **img, char **rtn,
-                                   char **filename, int *lineno);
+extern "C" int __tsan_symbolize(uptr pc, char **func, char **file,
+    int *line, int *off);
 extern "C" void free(void *p);
 
 ReportStack *SymbolizeCode(uptr addr) {
   ReportStack *s = NewReportStackEntry(addr);
-  char *img, *rtn, *filename;
-  int lineno;
-  if (goCallbackCommentPc(addr, &img, &rtn, &filename, &lineno)) {
-    s->module = internal_strdup(img);
-    s->offset = addr;
-    s->func = internal_strdup(rtn);
-    s->file = internal_strdup(filename);
-    s->line = lineno;
+  char *func, *file;
+  int line, off;
+  if (__tsan_symbolize(addr, &func, &file, &line, &off)) {
+    s->offset = off;
+    s->func = internal_strdup(func);
+    s->file = internal_strdup(file);
+    s->line = line;
     s->col = 0;
-    free(img);
-    free(rtn);
-    free(filename);
+    free(func);
+    free(file);
   }
   return s;
 }

Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_report.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_report.cc?rev=160672&r1=160671&r2=160672&view=diff
==============================================================================
--- compiler-rt/trunk/lib/tsan/rtl/tsan_report.cc (original)
+++ compiler-rt/trunk/lib/tsan/rtl/tsan_report.cc Tue Jul 24 07:29:43 2012
@@ -131,8 +131,8 @@
 
 static void PrintStack(const ReportStack *ent) {
   for (int i = 0; ent; ent = ent->next, i++) {
-    TsanPrintf("  %s()\n      %s:%d +%p\n",
-        ent->func, ent->file, ent->line, (void*)ent->pc);
+    TsanPrintf("  %s()\n      %s:%d +0x%zx\n",
+        ent->func, ent->file, ent->line, (void*)ent->offset);
   }
 }
 





More information about the llvm-commits mailing list