[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