[compiler-rt] r295667 - Revert "[tsan] Provide external tags (object types) via debugging API"

Diana Picus via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 20 07:26:12 PST 2017


Author: rovka
Date: Mon Feb 20 09:26:12 2017
New Revision: 295667

URL: http://llvm.org/viewvc/llvm-project?rev=295667&view=rev
Log:
Revert "[tsan] Provide external tags (object types) via debugging API"

This reverts commit r295318 as the test is flaky on AArch64.

Removed:
    compiler-rt/trunk/test/tsan/debug_external.cc
Modified:
    compiler-rt/trunk/lib/tsan/rtl/tsan_debugging.cc
    compiler-rt/trunk/lib/tsan/rtl/tsan_interface.h

Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_debugging.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_debugging.cc?rev=295667&r1=295666&r2=295667&view=diff
==============================================================================
--- compiler-rt/trunk/lib/tsan/rtl/tsan_debugging.cc (original)
+++ compiler-rt/trunk/lib/tsan/rtl/tsan_debugging.cc Mon Feb 20 09:26:12 2017
@@ -128,16 +128,6 @@ int __tsan_get_report_loc(void *report,
 }
 
 SANITIZER_INTERFACE_ATTRIBUTE
-int __tsan_get_report_loc_object_type(void *report, uptr idx,
-                                      const char **object_type) {
-  const ReportDesc *rep = (ReportDesc *)report;
-  CHECK_LT(idx, rep->locs.Size());
-  ReportLocation *loc = rep->locs[idx];
-  *object_type = GetObjectTypeFromTag(loc->external_tag);
-  return 1;
-}
-
-SANITIZER_INTERFACE_ATTRIBUTE
 int __tsan_get_report_mutex(void *report, uptr idx, uptr *mutex_id, void **addr,
                             int *destroyed, void **trace, uptr trace_size) {
   const ReportDesc *rep = (ReportDesc *)report;

Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_interface.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_interface.h?rev=295667&r1=295666&r2=295667&view=diff
==============================================================================
--- compiler-rt/trunk/lib/tsan/rtl/tsan_interface.h (original)
+++ compiler-rt/trunk/lib/tsan/rtl/tsan_interface.h Mon Feb 20 09:26:12 2017
@@ -132,10 +132,6 @@ int __tsan_get_report_loc(void *report,
                           int *fd, int *suppressable, void **trace,
                           uptr trace_size);
 
-SANITIZER_INTERFACE_ATTRIBUTE
-int __tsan_get_report_loc_object_type(void *report, uptr idx,
-                                      const char **object_type);
-
 // Returns information about mutexes included in the report.
 SANITIZER_INTERFACE_ATTRIBUTE
 int __tsan_get_report_mutex(void *report, uptr idx, uptr *mutex_id, void **addr,

Removed: compiler-rt/trunk/test/tsan/debug_external.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/tsan/debug_external.cc?rev=295666&view=auto
==============================================================================
--- compiler-rt/trunk/test/tsan/debug_external.cc (original)
+++ compiler-rt/trunk/test/tsan/debug_external.cc (removed)
@@ -1,61 +0,0 @@
-// RUN: %clangxx_tsan -O1 %s -o %t
-// RUN: %deflake %run %t 2>&1 | FileCheck %s
-
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-extern "C" {
-void __tsan_on_report(void *report);
-int __tsan_get_report_loc(void *report, unsigned long idx, const char **type,
-                          void **addr, void **start,
-                          unsigned long *size, int *tid, int *fd,
-                          int *suppressable, void **trace,
-                          unsigned long trace_size);
-int __tsan_get_report_loc_object_type(void *report, unsigned long idx,
-                                      const char **object_type);
-void *__tsan_external_register_tag(const char *object_type);
-void __tsan_external_assign_tag(void *addr, void *tag);
-}
-
-void *Thread(void *arg) {
-  *((long *)arg) = 42;
-  return NULL;
-}
-
-int main() {
-  void *tag = __tsan_external_register_tag("MyObject");
-  long *obj = (long *)malloc(sizeof(long));
-  fprintf(stderr, "obj = %p\n", obj);
-  // CHECK: obj = [[ADDR:0x[0-9a-f]+]]
-  __tsan_external_assign_tag(obj, tag);
-
-  pthread_t t;
-  pthread_create(&t, 0, Thread, obj);
-  *obj = 41;
-  pthread_join(t, 0);
-  fprintf(stderr, "Done.\n");
-  return 0;
-}
-
-void __tsan_on_report(void *report) {
-  const char *type;
-  void *addr;
-  void *start;
-  unsigned long size;
-  int tid, fd, suppressable;
-  void *trace[16] = {0};
-  __tsan_get_report_loc(report, 0, &type, &addr, &start, &size, &tid, &fd,
-                        &suppressable, trace, 16);
-  fprintf(stderr, "type = %s, start = %p, size = %ld\n", type, start, size);
-  // CHECK: type = heap, start = [[ADDR]], size = 8
-
-  const char *object_type;
-  __tsan_get_report_loc_object_type(report, 0, &object_type);
-  fprintf(stderr, "object_type = %s\n", object_type);
-  // CHECK: object_type = MyObject
-}
-
-// CHECK: Done.
-// CHECK: ThreadSanitizer: reported 1 warnings




More information about the llvm-commits mailing list