[compiler-rt] r308637 - [compiler-rt] Include thread ID into sanitizers logs
Vitaly Buka via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 20 10:31:08 PDT 2017
Author: vitalybuka
Date: Thu Jul 20 10:31:08 2017
New Revision: 308637
URL: http://llvm.org/viewvc/llvm-project?rev=308637&view=rev
Log:
[compiler-rt] Include thread ID into sanitizers logs
Reviewers: kcc, alekseyshl
Subscribers: kubamracek, llvm-commits, dberris
Differential Revision: https://reviews.llvm.org/D35654
Added:
compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/vreport.cc
Modified:
compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc
Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc?rev=308637&r1=308636&r2=308637&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc Thu Jul 20 10:31:08 2017
@@ -260,16 +260,15 @@ static void SharedPrintfCode(bool append
"Buffer in Report is too short!\n"); \
}
if (append_pid) {
- int pid = internal_getpid();
const char *exe_name = GetProcessName();
if (common_flags()->log_exe_name && exe_name) {
needed_length += internal_snprintf(buffer, buffer_size,
"==%s", exe_name);
CHECK_NEEDED_LENGTH
}
- needed_length += internal_snprintf(buffer + needed_length,
- buffer_size - needed_length,
- "==%d==", pid);
+ needed_length +=
+ internal_snprintf(buffer + needed_length, buffer_size - needed_length,
+ "==%d:%d==", internal_getpid(), GetTid());
CHECK_NEEDED_LENGTH
}
needed_length += VSNPrintf(buffer + needed_length,
@@ -300,7 +299,7 @@ void Printf(const char *format, ...) {
va_end(args);
}
-// Like Printf, but prints the current PID before the output string.
+// Like Printf, but prints the current PID:TID before the output string.
FORMAT(1, 2)
void Report(const char *format, ...) {
va_list args;
Added: compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/vreport.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/vreport.cc?rev=308637&view=auto
==============================================================================
--- compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/vreport.cc (added)
+++ compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/vreport.cc Thu Jul 20 10:31:08 2017
@@ -0,0 +1,23 @@
+// RUN: %clangxx -O0 %s -o %t && %env_tool_opts=verbosity=10 %run %t 2>&1 | FileCheck %s
+
+#include <pthread.h>
+#include <stdio.h>
+#include <sys/syscall.h>
+#include <unistd.h>
+
+void *thread(void *unused) {
+ printf("PID: %d\n", getpid());
+ printf("TID: %ld\n", syscall(SYS_gettid));
+ fflush(stdout);
+ return 0;
+}
+
+int main() {
+ pthread_t t;
+ pthread_create(&t, 0, thread, 0);
+ pthread_join(t, 0);
+ return 0;
+}
+// CHECK: PID: [[PID:[0-9]+]]
+// CHECK: TID: [[TID:[0-9]+]]
+// CHECK: ==[[PID]]:[[TID]]==
More information about the llvm-commits
mailing list