]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
drd, XML tracing: move newline generation into DRD_(trace_msg)() / change tracing...
authorBart Van Assche <bvanassche@acm.org>
Thu, 13 Oct 2011 18:04:30 +0000 (18:04 +0000)
committerBart Van Assche <bvanassche@acm.org>
Thu, 13 Oct 2011 18:04:30 +0000 (18:04 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12146

14 files changed:
drd/drd_barrier.c
drd/drd_clientobj.c
drd/drd_cond.c
drd/drd_error.c
drd/drd_error.h
drd/drd_hb.c
drd/drd_load_store.c
drd/drd_main.c
drd/drd_mutex.c
drd/drd_rwlock.c
drd/drd_semaphore.c
drd/drd_thread.c
drd/tests/annotate_trace_memory_xml.stderr.exp
drd/tests/fp_race_xml.stderr.exp

index b45977aa78d1700379414c49bafa0b95ad4b9f97..a6e9e6a5c8a374938dd8129dcce8dfd14479cd8c 100644 (file)
@@ -260,11 +260,11 @@ void DRD_(barrier_init)(const Addr barrier,
 
    if (s_trace_barrier) {
       if (reinitialization)
-         DRD_(trace_msg)("[%d] barrier_reinit    %s 0x%lx count %ld -> %ld\n",
+         DRD_(trace_msg)("[%d] barrier_reinit    %s 0x%lx count %ld -> %ld",
                          DRD_(thread_get_running_tid)(),
                          barrier_get_typename(p), barrier, p->count, count);
       else
-         DRD_(trace_msg)("[%d] barrier_init      %s 0x%lx\n",
+         DRD_(trace_msg)("[%d] barrier_init      %s 0x%lx",
                          DRD_(thread_get_running_tid)(),
                          barrier_get_typename(p),
                          barrier);
@@ -294,7 +294,7 @@ void DRD_(barrier_destroy)(const Addr barrier, const BarrierT barrier_type)
    p = DRD_(barrier_get)(barrier);
 
    if (s_trace_barrier)
-      DRD_(trace_msg)("[%d] barrier_destroy   %s 0x%lx\n",
+      DRD_(trace_msg)("[%d] barrier_destroy   %s 0x%lx",
                       DRD_(thread_get_running_tid)(),
                       barrier_get_typename(p), barrier);
 
@@ -353,7 +353,7 @@ void DRD_(barrier_pre_wait)(const DrdThreadId tid, const Addr barrier,
    tl_assert(p);
 
    if (s_trace_barrier)
-      DRD_(trace_msg)("[%d] barrier_pre_wait  %s 0x%lx iteration %ld\n",
+      DRD_(trace_msg)("[%d] barrier_pre_wait  %s 0x%lx iteration %ld",
                       DRD_(thread_get_running_tid)(),
                       barrier_get_typename(p), barrier, p->pre_iteration);
 
@@ -414,7 +414,7 @@ void DRD_(barrier_post_wait)(const DrdThreadId tid, const Addr barrier,
    p = DRD_(barrier_get)(barrier);
 
    if (s_trace_barrier)
-      DRD_(trace_msg)("[%d] barrier_post_wait %s 0x%lx iteration %ld%s\n",
+      DRD_(trace_msg)("[%d] barrier_post_wait %s 0x%lx iteration %ld%s",
                       tid, p ? barrier_get_typename(p) : "(?)",
                       barrier, p ? p->post_iteration : -1,
                       serializing ? " (serializing)" : "");
index 7e3a8c67a1674eb3060b99504a0cd36b6ea901ad..43198cbfd34ec49fcb985130c5e650dbb2456eed 100644 (file)
@@ -134,7 +134,7 @@ DrdClientobj* DRD_(clientobj_add)(const Addr a1, const ObjType t)
    tl_assert(VG_(OSetGen_Lookup)(s_clientobj_set, &a1) == 0);
 
    if (s_trace_clientobj)
-      DRD_(trace_msg)("Adding client object 0x%lx of type %d\n", a1, t);
+      DRD_(trace_msg)("Adding client object 0x%lx of type %d", a1, t);
 
    p = VG_(OSetGen_AllocNode)(s_clientobj_set, sizeof(*p));
    VG_(memset)(p, 0, sizeof(*p));
@@ -180,7 +180,7 @@ static Bool clientobj_remove_obj(DrdClientobj* const p)
    tl_assert(p);
 
    if (s_trace_clientobj) {
-      DRD_(trace_msg)("Removing client object 0x%lx of type %d\n", p->any.a1,
+      DRD_(trace_msg)("Removing client object 0x%lx of type %d", p->any.a1,
                       p->any.type);
 #if 0
       VG_(get_and_pp_StackTrace)(VG_(get_running_tid)(),
index 2e59b9fb246181d7a7f1f4957caf5b01b383e8d2..023d4637f06770e45c2aa8d267297140a51c5aab 100644 (file)
@@ -148,7 +148,7 @@ void DRD_(cond_pre_init)(const Addr cond)
    struct cond_info* p;
 
    if (DRD_(s_trace_cond))
-      DRD_(trace_msg)("[%d] cond_init       cond 0x%lx\n",
+      DRD_(trace_msg)("[%d] cond_init       cond 0x%lx",
                       DRD_(thread_get_running_tid)(), cond);
 
    p = DRD_(cond_get)(cond);
@@ -172,7 +172,7 @@ void DRD_(cond_post_destroy)(const Addr cond)
    struct cond_info* p;
 
    if (DRD_(s_trace_cond))
-      DRD_(trace_msg)("[%d] cond_destroy    cond 0x%lx\n",
+      DRD_(trace_msg)("[%d] cond_destroy    cond 0x%lx",
                       DRD_(thread_get_running_tid)(), cond);
 
    p = DRD_(cond_get)(cond);
@@ -211,7 +211,7 @@ void DRD_(cond_pre_wait)(const Addr cond, const Addr mutex)
    struct mutex_info* q;
 
    if (DRD_(s_trace_cond))
-      DRD_(trace_msg)("[%d] cond_pre_wait   cond 0x%lx\n",
+      DRD_(trace_msg)("[%d] cond_pre_wait   cond 0x%lx",
                       DRD_(thread_get_running_tid)(), cond);
 
    p = cond_get_or_allocate(cond);
@@ -272,7 +272,7 @@ void DRD_(cond_post_wait)(const Addr cond)
    struct cond_info* p;
 
    if (DRD_(s_trace_cond))
-      DRD_(trace_msg)("[%d] cond_post_wait  cond 0x%lx\n",
+      DRD_(trace_msg)("[%d] cond_post_wait  cond 0x%lx",
                       DRD_(thread_get_running_tid)(), cond);
 
    p = DRD_(cond_get)(cond);
@@ -353,7 +353,7 @@ void DRD_(cond_pre_signal)(Addr const cond)
 
    p = DRD_(cond_get)(cond);
    if (DRD_(s_trace_cond))
-      DRD_(trace_msg)("[%d] cond_signal     cond 0x%lx\n",
+      DRD_(trace_msg)("[%d] cond_signal     cond 0x%lx",
                       DRD_(thread_get_running_tid)(), cond);
 
    tl_assert(DRD_(pthread_cond_initializer));
@@ -376,7 +376,7 @@ void DRD_(cond_pre_broadcast)(Addr const cond)
    struct cond_info* p;
 
    if (DRD_(s_trace_cond))
-      DRD_(trace_msg)("[%d] cond_broadcast  cond 0x%lx\n",
+      DRD_(trace_msg)("[%d] cond_broadcast  cond 0x%lx",
                       DRD_(thread_get_running_tid)(), cond);
 
    p = DRD_(cond_get)(cond);
index eeea48445357f3b69f7b81f9f27424b9a5493e63..1a8c9d3f7390e015dd70e0e8677edb6d9707d96d 100644 (file)
@@ -62,15 +62,34 @@ void DRD_(trace_msg)(const char* format, ...)
    va_list vargs;
    va_start(vargs, format);
    if (VG_(clo_xml)) {
-      VG_(printf_xml)("<traceline>\n  ");
+      VG_(printf_xml)("  <trace><text>");
       VG_(vprintf_xml)(format, vargs);
-      VG_(printf_xml)("</traceline>\n");
+      VG_(printf_xml)("</text></trace>\n");
    } else {
       VG_(vmessage)(Vg_UserMsg, format, vargs);
+      VG_(message)(Vg_UserMsg, "\n");
    }
    va_end(vargs);
 }
 
+void DRD_(trace_msg_w_bt)(const char* format, ...)
+{
+   va_list vargs;
+   va_start(vargs, format);
+   if (VG_(clo_xml)) {
+      VG_(printf_xml)("  <trace><text>");
+      VG_(vprintf_xml)(format, vargs);
+      VG_(printf_xml)("</text>\n");
+   } else {
+      VG_(vmessage)(Vg_UserMsg, format, vargs);
+      VG_(message)(Vg_UserMsg, "\n");
+   }
+   VG_(get_and_pp_StackTrace)(VG_(get_running_tid)(), VG_(clo_backtrace_size));
+   va_end(vargs);
+   if (VG_(clo_xml))
+      VG_(printf_xml)("  </trace>\n");
+}
+
 /**
  * Emit error message detail in the format requested by the user.
  */
index 1665e3ec7db6111f2846a37ec7f93383dfbde339..d11b59974f60f68b5c58f419f1e2376f3dd3301a 100644 (file)
@@ -181,6 +181,7 @@ typedef struct {
 void DRD_(set_show_conflicting_segments)(const Bool scs);
 void DRD_(register_error_handlers)(void);
 void DRD_(trace_msg)(const char* format, ...) PRINTF_CHECK(1, 2);
+void DRD_(trace_msg_w_bt)(const char* format, ...) PRINTF_CHECK(1, 2);
 
 
 #endif /* __DRD_ERROR_H */
index 919d17175ec95a9a6cc46a181c16e5f90461701d..a05265a497e7c6e6dada521d4a389a6312b60191 100644 (file)
@@ -165,7 +165,7 @@ void DRD_(hb_happens_before)(const DrdThreadId tid, Addr const hb)
 
    p = DRD_(hb_get_or_allocate)(hb);
    if (DRD_(s_trace_hb))
-      DRD_(trace_msg)("[%d] happens_before 0x%lx\n",
+      DRD_(trace_msg)("[%d] happens_before 0x%lx",
                       DRD_(thread_get_running_tid)(), hb);
 
    if (!p)
@@ -199,7 +199,7 @@ void DRD_(hb_happens_after)(const DrdThreadId tid, const Addr hb)
    p = DRD_(hb_get_or_allocate)(hb);
 
    if (DRD_(s_trace_hb))
-      DRD_(trace_msg)("[%d] happens_after  0x%lx\n",
+      DRD_(trace_msg)("[%d] happens_after  0x%lx",
                       DRD_(thread_get_running_tid)(), hb);
 
    if (!p)
@@ -231,7 +231,7 @@ void DRD_(hb_happens_done)(const DrdThreadId tid, const Addr hb)
    struct hb_info* p;
 
    if (DRD_(s_trace_hb))
-      DRD_(trace_msg)("[%d] happens_done  0x%lx\n",
+      DRD_(trace_msg)("[%d] happens_done  0x%lx",
                       DRD_(thread_get_running_tid)(), hb);
 
    p = DRD_(hb_get)(hb);
index 5b7904d91c810ab80ed99071a0fffc5bd573da39..09800c333bf2514fa9b517166c34243f1167a84f 100644 (file)
@@ -93,15 +93,13 @@ void DRD_(trace_mem_access)(const Addr addr, const SizeT size,
       char* vc;
 
       vc = DRD_(vc_aprint)(DRD_(thread_get_vc)(DRD_(thread_get_running_tid)()));
-      DRD_(trace_msg)("%s 0x%lx size %ld (thread %d / vc %s)\n",
-                      access_type == eLoad ? "load "
-                      : access_type == eStore ? "store"
-                      : access_type == eStart ? "start"
-                      : access_type == eEnd ? "end  " : "????",
-                      addr, size, DRD_(thread_get_running_tid)(), vc);
+      DRD_(trace_msg_w_bt)("%s 0x%lx size %ld (thread %d / vc %s)",
+                           access_type == eLoad ? "load "
+                           : access_type == eStore ? "store"
+                           : access_type == eStart ? "start"
+                           : access_type == eEnd ? "end  " : "????",
+                           addr, size, DRD_(thread_get_running_tid)(), vc);
       VG_(free)(vc);
-      VG_(get_and_pp_StackTrace)(VG_(get_running_tid)(),
-                                 VG_(clo_backtrace_size));
       tl_assert(DRD_(DrdThreadIdToVgThreadId)(DRD_(thread_get_running_tid)())
                 == VG_(get_running_tid)());
    }
index afd0eae62540691cd327cd261cd82642697846c4..ac7b551df984ca138ecd767167cc81328899a185 100644 (file)
@@ -311,7 +311,7 @@ void drd_start_using_mem(const Addr a1, const SizeT len,
    tl_assert(a1 <= a2);
 
    if (!is_stack_mem && s_trace_alloc)
-      DRD_(trace_msg)("Started using memory range 0x%lx + %ld%s\n",
+      DRD_(trace_msg)("Started using memory range 0x%lx + %ld%s",
                       a1, len, DRD_(running_thread_inside_pthread_create)()
                       ? " (inside pthread_create())" : "");
 
@@ -355,7 +355,7 @@ void drd_stop_using_mem(const Addr a1, const SizeT len,
       DRD_(trace_mem_access)(a1, len, eEnd);
 
    if (!is_stack_mem && s_trace_alloc)
-      DRD_(trace_msg)("Stopped using memory range 0x%lx + %ld\n",
+      DRD_(trace_msg)("Stopped using memory range 0x%lx + %ld",
                       a1, len);
 
    if (!is_stack_mem || DRD_(get_check_stack_accesses)())
@@ -573,7 +573,7 @@ void drd_pre_thread_create(const ThreadId creator, const ThreadId created)
    }
    if (DRD_(thread_get_trace_fork_join)())
    {
-      DRD_(trace_msg)("drd_pre_thread_create creator = %d, created = %d\n",
+      DRD_(trace_msg)("drd_pre_thread_create creator = %d, created = %d",
                       drd_creator, created);
    }
 }
@@ -591,7 +591,7 @@ void drd_post_thread_create(const ThreadId vg_created)
    drd_created = DRD_(thread_post_create)(vg_created);
    if (DRD_(thread_get_trace_fork_join)())
    {
-      DRD_(trace_msg)("drd_post_thread_create created = %d\n", drd_created);
+      DRD_(trace_msg)("drd_post_thread_create created = %d", drd_created);
    }
    if (! DRD_(get_check_stack_accesses)())
    {
@@ -612,7 +612,7 @@ static void drd_thread_finished(ThreadId vg_tid)
    drd_tid = DRD_(VgThreadIdToDrdThreadId)(vg_tid);
    if (DRD_(thread_get_trace_fork_join)())
    {
-      DRD_(trace_msg)("drd_thread_finished tid = %d%s\n", drd_tid,
+      DRD_(trace_msg)("drd_thread_finished tid = %d%s", drd_tid,
                       DRD_(thread_get_joinable)(drd_tid)
                       ? "" : " (which is a detached thread)");
    }
index 289ebe54eab80266bec47947c50b28eebb135e17..c9392ee74d3ea0897394c383fa206e3d6f2e0917 100644 (file)
@@ -89,7 +89,7 @@ static void mutex_cleanup(struct mutex_info* p)
    tl_assert(p);
 
    if (s_trace_mutex)
-      DRD_(trace_msg)("[%d] mutex_destroy   %s 0x%lx rc %d owner %d\n",
+      DRD_(trace_msg)("[%d] mutex_destroy   %s 0x%lx rc %d owner %d",
                       DRD_(thread_get_running_tid)(),
                       DRD_(mutex_get_typename)(p), p->a1,
                       p ? p->recursion_count : -1,
@@ -180,7 +180,7 @@ DRD_(mutex_init)(const Addr mutex, const MutexT mutex_type)
    struct mutex_info* p;
 
    if (s_trace_mutex)
-      DRD_(trace_msg)("[%d] mutex_init      %s 0x%lx\n",
+      DRD_(trace_msg)("[%d] mutex_init      %s 0x%lx",
                       DRD_(thread_get_running_tid)(),
                       DRD_(mutex_type_name)(mutex_type),
                       mutex);
@@ -241,7 +241,7 @@ void DRD_(mutex_pre_lock)(const Addr mutex, MutexT mutex_type,
       mutex_type = p->mutex_type;
 
    if (s_trace_mutex)
-      DRD_(trace_msg)("[%d] %s %s 0x%lx rc %d owner %d\n",
+      DRD_(trace_msg)("[%d] %s %s 0x%lx rc %d owner %d",
                       DRD_(thread_get_running_tid)(),
                       trylock ? "pre_mutex_lock " : "mutex_trylock  ",
                       p ? DRD_(mutex_get_typename)(p) : "(?)",
@@ -291,7 +291,7 @@ void DRD_(mutex_post_lock)(const Addr mutex, const Bool took_lock,
    p = DRD_(mutex_get)(mutex);
 
    if (s_trace_mutex)
-      DRD_(trace_msg)("[%d] %s %s 0x%lx rc %d owner %d%s\n",
+      DRD_(trace_msg)("[%d] %s %s 0x%lx rc %d owner %d%s",
                       drd_tid,
                       post_cond_wait ? "cond_post_wait " : "post_mutex_lock",
                       p ? DRD_(mutex_get_typename)(p) : "(?)",
@@ -356,7 +356,7 @@ void DRD_(mutex_unlock)(const Addr mutex, MutexT mutex_type)
       mutex_type = p->mutex_type;
 
    if (s_trace_mutex) {
-      DRD_(trace_msg)("[%d] mutex_unlock    %s 0x%lx rc %d\n",
+      DRD_(trace_msg)("[%d] mutex_unlock    %s 0x%lx rc %d",
                       drd_tid, p ? DRD_(mutex_get_typename)(p) : "(?)",
                       mutex, p ? p->recursion_count : 0);
    }
index 448add2639434f47b097c786fff3e5d6722d20cc..8e13c66112a8740239e54c42b70ab4da03df824d 100644 (file)
@@ -251,7 +251,7 @@ static void rwlock_cleanup(struct rwlock_info* p)
    tl_assert(p);
 
    if (DRD_(s_trace_rwlock))
-      DRD_(trace_msg)("[%d] rwlock_destroy     0x%lx\n",
+      DRD_(trace_msg)("[%d] rwlock_destroy     0x%lx",
                       DRD_(thread_get_running_tid)(), p->a1);
 
    if (DRD_(rwlock_is_locked)(p))
@@ -320,7 +320,7 @@ struct rwlock_info* DRD_(rwlock_pre_init)(const Addr rwlock,
    struct rwlock_info* p;
 
    if (DRD_(s_trace_rwlock))
-      DRD_(trace_msg)("[%d] rwlock_init        0x%lx\n",
+      DRD_(trace_msg)("[%d] rwlock_init        0x%lx",
                       DRD_(thread_get_running_tid)(), rwlock);
 
    p = DRD_(rwlock_get)(rwlock);
@@ -381,7 +381,7 @@ void DRD_(rwlock_pre_rdlock)(const Addr rwlock, const RwLockT rwlock_type)
    struct rwlock_info* p;
 
    if (DRD_(s_trace_rwlock))
-      DRD_(trace_msg)("[%d] pre_rwlock_rdlock  0x%lx\n",
+      DRD_(trace_msg)("[%d] pre_rwlock_rdlock  0x%lx",
                       DRD_(thread_get_running_tid)(), rwlock);
 
    p = DRD_(rwlock_get_or_allocate)(rwlock, rwlock_type);
@@ -410,7 +410,7 @@ void DRD_(rwlock_post_rdlock)(const Addr rwlock, const RwLockT rwlock_type,
    struct rwlock_thread_info* q;
 
    if (DRD_(s_trace_rwlock))
-      DRD_(trace_msg)("[%d] post_rwlock_rdlock 0x%lx\n", drd_tid, rwlock);
+      DRD_(trace_msg)("[%d] post_rwlock_rdlock 0x%lx", drd_tid, rwlock);
 
    p = DRD_(rwlock_get)(rwlock);
 
@@ -444,7 +444,7 @@ void DRD_(rwlock_pre_wrlock)(const Addr rwlock, const RwLockT rwlock_type)
    p = DRD_(rwlock_get)(rwlock);
 
    if (DRD_(s_trace_rwlock))
-      DRD_(trace_msg)("[%d] pre_rwlock_wrlock  0x%lx\n",
+      DRD_(trace_msg)("[%d] pre_rwlock_wrlock  0x%lx",
                       DRD_(thread_get_running_tid)(), rwlock);
 
    if (p == 0)
@@ -478,7 +478,7 @@ void DRD_(rwlock_post_wrlock)(const Addr rwlock, const RwLockT rwlock_type,
    p = DRD_(rwlock_get)(rwlock);
 
    if (DRD_(s_trace_rwlock))
-      DRD_(trace_msg)("[%d] post_rwlock_wrlock 0x%lx\n", drd_tid, rwlock);
+      DRD_(trace_msg)("[%d] post_rwlock_wrlock 0x%lx", drd_tid, rwlock);
 
    if (! p || ! took_lock)
       return;
@@ -513,7 +513,7 @@ void DRD_(rwlock_pre_unlock)(const Addr rwlock, const RwLockT rwlock_type)
    struct rwlock_thread_info* q;
 
    if (DRD_(s_trace_rwlock))
-      DRD_(trace_msg)("[%d] rwlock_unlock      0x%lx\n", drd_tid, rwlock);
+      DRD_(trace_msg)("[%d] rwlock_unlock      0x%lx", drd_tid, rwlock);
 
    p = DRD_(rwlock_get)(rwlock);
    if (p == 0)
index 3d2808985c9c23f6a8138d77afbdf40449a28f46..0b7065f2eb8b20c8e137035cf0cfc7ea0772b39c 100644 (file)
@@ -175,7 +175,7 @@ struct semaphore_info* DRD_(semaphore_init)(const Addr semaphore,
    Segment* sg;
 
    if (s_trace_semaphore)
-      DRD_(trace_msg)("[%d] sem_init      0x%lx value %u\n",
+      DRD_(trace_msg)("[%d] sem_init      0x%lx value %u",
                       DRD_(thread_get_running_tid)(), semaphore, value);
 
    p = semaphore_get(semaphore);
@@ -223,7 +223,7 @@ void DRD_(semaphore_destroy)(const Addr semaphore)
    p = semaphore_get(semaphore);
 
    if (s_trace_semaphore)
-      DRD_(trace_msg)("[%d] sem_destroy   0x%lx value %u\n",
+      DRD_(trace_msg)("[%d] sem_destroy   0x%lx value %u",
                       DRD_(thread_get_running_tid)(), semaphore,
                       p ? p->value : 0);
 
@@ -254,7 +254,7 @@ struct semaphore_info* DRD_(semaphore_open)(const Addr semaphore,
 
    if (s_trace_semaphore)
       DRD_(trace_msg)("[%d] sem_open      0x%lx name %s"
-                      " oflag %#lx mode %#lo value %u\n",
+                      " oflag %#lx mode %#lo value %u",
                       DRD_(thread_get_running_tid)(),
                       semaphore, name, oflag, mode, value);
 
@@ -296,7 +296,7 @@ void DRD_(semaphore_close)(const Addr semaphore)
    p = semaphore_get(semaphore);
 
    if (s_trace_semaphore)
-      DRD_(trace_msg)("[%d] sem_close     0x%lx value %u\n",
+      DRD_(trace_msg)("[%d] sem_close     0x%lx value %u",
                       DRD_(thread_get_running_tid)(), semaphore,
                       p ? p->value : 0);
 
@@ -351,7 +351,7 @@ void DRD_(semaphore_post_wait)(const DrdThreadId tid, const Addr semaphore,
 
    p = semaphore_get(semaphore);
    if (s_trace_semaphore)
-      DRD_(trace_msg)("[%d] sem_wait      0x%lx value %u -> %u\n",
+      DRD_(trace_msg)("[%d] sem_wait      0x%lx value %u -> %u",
                       DRD_(thread_get_running_tid)(), semaphore,
                       p ? p->value : 0, p ? p->value - 1 : 0);
 
@@ -407,7 +407,7 @@ void DRD_(semaphore_pre_post)(const DrdThreadId tid, const Addr semaphore)
    p->value++;
 
    if (s_trace_semaphore)
-      DRD_(trace_msg)("[%d] sem_post      0x%lx value %u -> %u\n",
+      DRD_(trace_msg)("[%d] sem_post      0x%lx value %u -> %u",
                       DRD_(thread_get_running_tid)(),
                       semaphore, p->value - 1, p->value);
 
index c50dd4ceb3da0c0bfaa7972848b00c011786aad4..93fe6a2742474ceab384c86ef4fb0dc84010bfbf 100644 (file)
@@ -390,7 +390,7 @@ void DRD_(thread_post_join)(DrdThreadId drd_joiner, DrdThreadId drd_joinee)
                        ", new vc: %s", vc);
          VG_(free)(vc);
       }
-      DRD_(trace_msg)("%pS\n", msg);
+      DRD_(trace_msg)("%pS", msg);
       VG_(free)(msg);
    }
 
@@ -564,7 +564,7 @@ void DRD_(thread_pre_cancel)(const DrdThreadId tid)
    tl_assert(DRD_(g_threadinfo)[tid].pt_threadid != INVALID_POSIX_THREADID);
 
    if (DRD_(thread_get_trace_fork_join)())
-      DRD_(trace_msg)("[%d] drd_thread_pre_cancel %d\n",
+      DRD_(trace_msg)("[%d] drd_thread_pre_cancel %d",
                       DRD_(g_drd_running_tid), tid);
 }
 
index 618019459843d36907447d0e7efc4c516072ed8c..3469a2318cc2d4d1329d4711832f3bfdc14f06ea 100644 (file)
@@ -31,9 +31,7 @@
 
 FLAGS [phb=1, fm=0]
 test01: positive
-<traceline>
-  store 0x........ size 4 (thread x / vc ...)
-</traceline>
+  <trace><text>store 0x........ size 4 (thread x / vc ...)</text>
   <stack>
     <frame>
       <ip>0x........</ip>
@@ -52,9 +50,8 @@ test01: positive
       <line>...</line>
     </frame>
   </stack>
-<traceline>
-  store 0x........ size 4 (thread x / vc ...)
-</traceline>
+  </trace>
+  <trace><text>store 0x........ size 4 (thread x / vc ...)</text>
   <stack>
     <frame>
       <ip>0x........</ip>
@@ -73,6 +70,7 @@ test01: positive
       <line>...</line>
     </frame>
   </stack>
+  </trace>
 <error>
   <unique>0x........</unique>
   <tid>...</tid>
@@ -99,9 +97,7 @@ test01: positive
   <auxwhat>Allocation context: BSS section of tsan_unittest</auxwhat>
 </error>
 
-<traceline>
-  load  0x........ size 4 (thread x / vc ...)
-</traceline>
+  <trace><text>load  0x........ size 4 (thread x / vc ...)</text>
   <stack>
     <frame>
       <ip>0x........</ip>
@@ -120,6 +116,7 @@ test01: positive
       <line>...</line>
     </frame>
   </stack>
+  </trace>
        GLOB=2
 
 <status>
index 485f02ef2a9c7f7767bfb74bcc4129b71f655df5..87f8e232b50a6469e0f19faaf541978cee1cef00 100644 (file)
   <time>...</time>
 </status>
 
-<traceline>
-  drd_pre_thread_create creator = 0, created = 1
-</traceline>
-<traceline>
-  drd_post_thread_create created = 1
-</traceline>
-<traceline>
-  drd_pre_thread_create creator = 1, created = 2
-</traceline>
-<traceline>
-  drd_post_thread_create created = 2
-</traceline>
-<traceline>
-  drd_thread_finished tid = 2
-</traceline>
+  <trace><text>drd_pre_thread_create creator = 0, created = 1</text></trace>
+  <trace><text>drd_post_thread_create created = 1</text></trace>
+  <trace><text>drd_pre_thread_create creator = 1, created = 2</text></trace>
+  <trace><text>drd_post_thread_create created = 2</text></trace>
+  <trace><text>drd_thread_finished tid = 2</text></trace>
 <error>
   <unique>0x........</unique>
   <tid>...</tid>
   </other_segment_end>
 </error>
 
-<traceline>
-  drd_post_thread_join joiner = 1, joinee = 2, new vc: [ 1: 4, 2: 1 ]
-</traceline>
-<traceline>
-  drd_thread_finished tid = 1
-</traceline>
+  <trace><text>drd_post_thread_join joiner = 1, joinee = 2, new vc: [ 1: 4, 2: 1 ]</text></trace>
+  <trace><text>drd_thread_finished tid = 1</text></trace>
 
 <status>
   <state>FINISHED</state>