diff options
Diffstat (limited to 'test/tsan/java_symbolization.cc')
-rw-r--r-- | test/tsan/java_symbolization.cc | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/test/tsan/java_symbolization.cc b/test/tsan/java_symbolization.cc index aa5ec0c37..f82bd5ead 100644 --- a/test/tsan/java_symbolization.cc +++ b/test/tsan/java_symbolization.cc @@ -2,18 +2,13 @@ #include "java.h" #include <memory.h> -extern "C" bool __tsan_symbolize_external(jptr pc, - char *func_buf, jptr func_siz, - char *file_buf, jptr file_siz, - int *line, int *col) { +extern "C" void __tsan_symbolize_external_ex( + jptr pc, void (*add_frame)(void *, const char *, const char *, int, int), + void *ctx) { if (pc == (1234 | kExternalPCBit)) { - memcpy(func_buf, "MyFunc", sizeof("MyFunc")); - memcpy(file_buf, "MyFile.java", sizeof("MyFile.java")); - *line = 1234; - *col = 56; - return true; + add_frame(ctx, "MyInnerFunc", "MyInnerFile.java", 1234, 56); + add_frame(ctx, "MyOuterFunc", "MyOuterFile.java", 4321, 65); } - return false; } void *Thread(void *p) { @@ -40,5 +35,6 @@ int main() { } // CHECK: WARNING: ThreadSanitizer: data race -// CHECK: #0 MyFunc MyFile.java:1234:56 +// CHECK: #0 MyInnerFunc MyInnerFile.java:1234:56 +// CHECK: #1 MyOuterFunc MyOuterFile.java:4321:65 // CHECK: DONE |