Wrapped DRD_() macro around thread-related function names.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9168 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/drd/drd_barrier.c b/drd/drd_barrier.c
index 0e2e80c..e96c1fe 100644
--- a/drd/drd_barrier.c
+++ b/drd/drd_barrier.c
@@ -218,7 +218,7 @@
       VG_(message)(Vg_UserMsg,
                    "[%d/%d] barrier_reinit    %s 0x%lx count %ld -> %ld",
                    VG_(get_running_tid)(),
-                   thread_get_running_tid(),
+                   DRD_(thread_get_running_tid)(),
                    DRD_(barrier_get_typename)(p),
                    barrier,
                    p->count,
@@ -229,7 +229,7 @@
       VG_(message)(Vg_UserMsg,
                    "[%d/%d] barrier_init      %s 0x%lx",
                    VG_(get_running_tid)(),
-                   thread_get_running_tid(),
+                   DRD_(thread_get_running_tid)(),
                    DRD_(barrier_get_typename)(p),
                    barrier);
     }
@@ -263,7 +263,7 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] barrier_destroy   %s 0x%lx",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  DRD_(barrier_get_typename)(p),
                  barrier);
   }
@@ -318,7 +318,7 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] barrier_pre_wait  %s 0x%lx iteration %ld",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  DRD_(barrier_get_typename)(p),
                  barrier,
                  p->pre_iteration);
@@ -332,7 +332,7 @@
     VG_(OSetGen_Insert)(p->oset, q);
     tl_assert(VG_(OSetGen_Lookup)(p->oset, &word_tid) == q);
   }
-  thread_get_latest_segment(&q->sg[p->pre_iteration], tid);
+  DRD_(thread_get_latest_segment)(&q->sg[p->pre_iteration], tid);
 
   if (--p->pre_waiters_left <= 0)
   {
@@ -396,11 +396,11 @@
       if (r != q)
       {
         tl_assert(r->sg[p->post_iteration]);
-        thread_combine_vc2(tid, &r->sg[p->post_iteration]->vc);
+        DRD_(thread_combine_vc2)(tid, &r->sg[p->post_iteration]->vc);
       }
     }
 
-    thread_new_segment(tid);
+    DRD_(thread_new_segment)(tid);
     DRD_(s_barrier_segment_creation_count)++;
 
     if (--p->post_waiters_left <= 0)
diff --git a/drd/drd_clientreq.c b/drd/drd_clientreq.c
index 2f43b5f..f79973e 100644
--- a/drd/drd_clientreq.c
+++ b/drd/drd_clientreq.c
@@ -66,10 +66,10 @@
 Bool DRD_(handle_client_request)(ThreadId vg_tid, UWord* arg, UWord* ret)
 {
   UWord result = 0;
-  const DrdThreadId drd_tid = thread_get_running_tid();
+  const DrdThreadId drd_tid = DRD_(thread_get_running_tid)();
 
   tl_assert(vg_tid == VG_(get_running_tid()));
-  tl_assert(VgThreadIdToDrdThreadId(vg_tid) == drd_tid);
+  tl_assert(DRD_(VgThreadIdToDrdThreadId)(vg_tid) == drd_tid);
 
   switch (arg[0])
   {
@@ -109,14 +109,14 @@
                    i, sps[i], fps[i], desc);
     }
 #endif
-    thread_set_stack_startup(drd_tid, VG_(get_SP)(vg_tid));
+    DRD_(thread_set_stack_startup)(drd_tid, VG_(get_SP)(vg_tid));
     DRD_(start_suppression)(topmost_sp, VG_(thread_get_stack_max)(vg_tid),
                             "stack top");
     break;
   }
 
   case VG_USERREQ__DRD_START_NEW_SEGMENT:
-    thread_new_segment(PtThreadIdToDrdThreadId(arg[1]));
+    DRD_(thread_new_segment)(DRD_(PtThreadIdToDrdThreadId)(arg[1]));
     break;
 
   case VG_USERREQ__DRD_START_TRACE_ADDR:
@@ -128,31 +128,32 @@
     break;
 
   case VG_USERREQ__DRD_STOP_RECORDING:
-    thread_stop_recording(drd_tid);
+    DRD_(thread_stop_recording)(drd_tid);
     break;
 
   case VG_USERREQ__DRD_START_RECORDING:
-    thread_start_recording(drd_tid);
+    DRD_(thread_start_recording)(drd_tid);
     break;
 
   case VG_USERREQ__SET_PTHREADID:
     // pthread_self() returns 0 for programs not linked with libpthread.so.
     if (arg[1] != INVALID_POSIX_THREADID)
-      thread_set_pthreadid(drd_tid, arg[1]);
+      DRD_(thread_set_pthreadid)(drd_tid, arg[1]);
     break;
 
   case VG_USERREQ__SET_JOINABLE:
-    thread_set_joinable(PtThreadIdToDrdThreadId(arg[1]), (Bool)arg[2]);
+    DRD_(thread_set_joinable)(DRD_(PtThreadIdToDrdThreadId)(arg[1]),
+                              (Bool)arg[2]);
     break;
 
   case VG_USERREQ__POST_THREAD_JOIN:
     tl_assert(arg[1]);
-    DRD_(thread_post_join)(drd_tid, PtThreadIdToDrdThreadId(arg[1]));
+    DRD_(thread_post_join)(drd_tid, DRD_(PtThreadIdToDrdThreadId)(arg[1]));
     break;
 
   case VG_USERREQ__PRE_THREAD_CANCEL:
     tl_assert(arg[1]);
-    thread_pre_cancel(drd_tid);
+    DRD_(thread_pre_cancel)(drd_tid);
     break;
 
   case VG_USERREQ__POST_THREAD_CANCEL:
@@ -160,71 +161,71 @@
     break;
 
   case VG_USERREQ__PRE_MUTEX_INIT:
-    if (thread_enter_synchr(drd_tid) == 0)
+    if (DRD_(thread_enter_synchr)(drd_tid) == 0)
       mutex_init(arg[1], arg[2]);
     break;
 
   case VG_USERREQ__POST_MUTEX_INIT:
-    thread_leave_synchr(drd_tid);
+    DRD_(thread_leave_synchr)(drd_tid);
     break;
 
   case VG_USERREQ__PRE_MUTEX_DESTROY:
-    thread_enter_synchr(drd_tid);
+    DRD_(thread_enter_synchr)(drd_tid);
     break;
 
   case VG_USERREQ__POST_MUTEX_DESTROY:
-    if (thread_leave_synchr(drd_tid) == 0)
+    if (DRD_(thread_leave_synchr)(drd_tid) == 0)
       mutex_post_destroy(arg[1]);
     break;
 
   case VG_USERREQ__PRE_MUTEX_LOCK:
-    if (thread_enter_synchr(drd_tid) == 0)
+    if (DRD_(thread_enter_synchr)(drd_tid) == 0)
       mutex_pre_lock(arg[1], arg[2], arg[3]);
     break;
 
   case VG_USERREQ__POST_MUTEX_LOCK:
-    if (thread_leave_synchr(drd_tid) == 0)
+    if (DRD_(thread_leave_synchr)(drd_tid) == 0)
       mutex_post_lock(arg[1], arg[2], False/*post_cond_wait*/);
     break;
 
   case VG_USERREQ__PRE_MUTEX_UNLOCK:
-    if (thread_enter_synchr(drd_tid) == 0)
+    if (DRD_(thread_enter_synchr)(drd_tid) == 0)
       mutex_unlock(arg[1], arg[2]);
     break;
 
   case VG_USERREQ__POST_MUTEX_UNLOCK:
-    thread_leave_synchr(drd_tid);
+    DRD_(thread_leave_synchr)(drd_tid);
     break;
 
   case VG_USERREQ__PRE_SPIN_INIT_OR_UNLOCK:
-    if (thread_enter_synchr(drd_tid) == 0)
+    if (DRD_(thread_enter_synchr)(drd_tid) == 0)
       DRD_(spinlock_init_or_unlock)(arg[1]);
     break;
 
   case VG_USERREQ__POST_SPIN_INIT_OR_UNLOCK:
-    thread_leave_synchr(drd_tid);
+    DRD_(thread_leave_synchr)(drd_tid);
     break;
 
   case VG_USERREQ__PRE_COND_INIT:
-    if (thread_enter_synchr(drd_tid) == 0)
+    if (DRD_(thread_enter_synchr)(drd_tid) == 0)
       cond_pre_init(arg[1]);
     break;
 
   case VG_USERREQ__POST_COND_INIT:
-    thread_leave_synchr(drd_tid);
+    DRD_(thread_leave_synchr)(drd_tid);
     break;
 
   case VG_USERREQ__PRE_COND_DESTROY:
-    thread_enter_synchr(drd_tid);
+    DRD_(thread_enter_synchr)(drd_tid);
     break;
 
   case VG_USERREQ__POST_COND_DESTROY:
-    if (thread_leave_synchr(drd_tid) == 0)
+    if (DRD_(thread_leave_synchr)(drd_tid) == 0)
       cond_post_destroy(arg[1]);
     break;
 
   case VG_USERREQ__PRE_COND_WAIT:
-    if (thread_enter_synchr(drd_tid) == 0)
+    if (DRD_(thread_enter_synchr)(drd_tid) == 0)
     {
       const Addr cond = arg[1];
       const Addr mutex = arg[2];
@@ -235,7 +236,7 @@
     break;
 
   case VG_USERREQ__POST_COND_WAIT:
-    if (thread_leave_synchr(drd_tid) == 0)
+    if (DRD_(thread_leave_synchr)(drd_tid) == 0)
     {
       const Addr cond = arg[1];
       const Addr mutex = arg[2];
@@ -246,86 +247,86 @@
     break;
 
   case VG_USERREQ__PRE_COND_SIGNAL:
-    if (thread_enter_synchr(drd_tid) == 0)
+    if (DRD_(thread_enter_synchr)(drd_tid) == 0)
       cond_pre_signal(arg[1]);
     break;
 
   case VG_USERREQ__POST_COND_SIGNAL:
-    thread_leave_synchr(drd_tid);
+    DRD_(thread_leave_synchr)(drd_tid);
     break;
 
   case VG_USERREQ__PRE_COND_BROADCAST:
-    if (thread_enter_synchr(drd_tid) == 0)
+    if (DRD_(thread_enter_synchr)(drd_tid) == 0)
       cond_pre_broadcast(arg[1]);
     break;
 
   case VG_USERREQ__POST_COND_BROADCAST:
-    thread_leave_synchr(drd_tid);
+    DRD_(thread_leave_synchr)(drd_tid);
     break;
 
   case VG_USERREQ__PRE_SEM_INIT:
-    if (thread_enter_synchr(drd_tid) == 0)
+    if (DRD_(thread_enter_synchr)(drd_tid) == 0)
       semaphore_init(arg[1], arg[2], arg[3]);
     break;
 
   case VG_USERREQ__POST_SEM_INIT:
-    thread_leave_synchr(drd_tid);
+    DRD_(thread_leave_synchr)(drd_tid);
     break;
 
   case VG_USERREQ__PRE_SEM_DESTROY:
-    thread_enter_synchr(drd_tid);
+    DRD_(thread_enter_synchr)(drd_tid);
     break;
 
   case VG_USERREQ__POST_SEM_DESTROY:
-    if (thread_leave_synchr(drd_tid) == 0)
+    if (DRD_(thread_leave_synchr)(drd_tid) == 0)
       semaphore_destroy(arg[1]);
     break;
 
   case VG_USERREQ__PRE_SEM_WAIT:
-    if (thread_enter_synchr(drd_tid) == 0)
+    if (DRD_(thread_enter_synchr)(drd_tid) == 0)
       semaphore_pre_wait(arg[1]);
     break;
 
   case VG_USERREQ__POST_SEM_WAIT:
-    if (thread_leave_synchr(drd_tid) == 0)
+    if (DRD_(thread_leave_synchr)(drd_tid) == 0)
       semaphore_post_wait(drd_tid, arg[1], arg[2]);
     break;
 
   case VG_USERREQ__PRE_SEM_POST:
-    if (thread_enter_synchr(drd_tid) == 0)
+    if (DRD_(thread_enter_synchr)(drd_tid) == 0)
       semaphore_pre_post(drd_tid, arg[1]);
     break;
 
   case VG_USERREQ__POST_SEM_POST:
-    if (thread_leave_synchr(drd_tid) == 0)
+    if (DRD_(thread_leave_synchr)(drd_tid) == 0)
       semaphore_post_post(drd_tid, arg[1], arg[2]);
     break;
 
   case VG_USERREQ__PRE_BARRIER_INIT:
-    if (thread_enter_synchr(drd_tid) == 0)
+    if (DRD_(thread_enter_synchr)(drd_tid) == 0)
       DRD_(barrier_init)(arg[1], arg[2], arg[3], arg[4]);
     break;
 
   case VG_USERREQ__POST_BARRIER_INIT:
-    thread_leave_synchr(drd_tid);
+    DRD_(thread_leave_synchr)(drd_tid);
     break;
 
   case VG_USERREQ__PRE_BARRIER_DESTROY:
-    thread_enter_synchr(drd_tid);
+    DRD_(thread_enter_synchr)(drd_tid);
     break;
 
   case VG_USERREQ__POST_BARRIER_DESTROY:
-    if (thread_leave_synchr(drd_tid) == 0)
+    if (DRD_(thread_leave_synchr)(drd_tid) == 0)
       DRD_(barrier_destroy)(arg[1], arg[2]);
     break;
 
   case VG_USERREQ__PRE_BARRIER_WAIT:
-    if (thread_enter_synchr(drd_tid) == 0)
+    if (DRD_(thread_enter_synchr)(drd_tid) == 0)
       DRD_(barrier_pre_wait)(drd_tid, arg[1], arg[2]);
     break;
 
   case VG_USERREQ__POST_BARRIER_WAIT:
-    if (thread_leave_synchr(drd_tid) == 0)
+    if (DRD_(thread_leave_synchr)(drd_tid) == 0)
       DRD_(barrier_post_wait)(drd_tid, arg[1], arg[2], arg[3]);
     break;
 
@@ -338,32 +339,32 @@
     break;
 
   case VG_USERREQ__PRE_RWLOCK_RDLOCK:
-    if (thread_enter_synchr(drd_tid) == 0)
+    if (DRD_(thread_enter_synchr)(drd_tid) == 0)
       rwlock_pre_rdlock(arg[1]);
     break;
 
   case VG_USERREQ__POST_RWLOCK_RDLOCK:
-    if (thread_leave_synchr(drd_tid) == 0)
+    if (DRD_(thread_leave_synchr)(drd_tid) == 0)
       rwlock_post_rdlock(arg[1], arg[2]);
     break;
 
   case VG_USERREQ__PRE_RWLOCK_WRLOCK:
-    if (thread_enter_synchr(drd_tid) == 0)
+    if (DRD_(thread_enter_synchr)(drd_tid) == 0)
       rwlock_pre_wrlock(arg[1]);
     break;
 
   case VG_USERREQ__POST_RWLOCK_WRLOCK:
-    if (thread_leave_synchr(drd_tid) == 0)
+    if (DRD_(thread_leave_synchr)(drd_tid) == 0)
       rwlock_post_wrlock(arg[1], arg[2]);
     break;
 
   case VG_USERREQ__PRE_RWLOCK_UNLOCK:
-    if (thread_enter_synchr(drd_tid) == 0)
+    if (DRD_(thread_enter_synchr)(drd_tid) == 0)
       rwlock_pre_unlock(arg[1]);
     break;
       
   case VG_USERREQ__POST_RWLOCK_UNLOCK:
-    thread_leave_synchr(drd_tid);
+    DRD_(thread_leave_synchr)(drd_tid);
     break;
 
   default:
diff --git a/drd/drd_cond.c b/drd/drd_cond.c
index 06027b2..83da627 100644
--- a/drd/drd_cond.c
+++ b/drd/drd_cond.c
@@ -124,7 +124,7 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] cond_init       cond 0x%lx",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  cond);
   }
 
@@ -153,7 +153,7 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] cond_destroy    cond 0x%lx",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  cond);
   }
 
@@ -196,7 +196,7 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] cond_pre_wait   cond 0x%lx",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  cond);
   }
 
@@ -220,7 +220,7 @@
   }
   tl_assert(p->mutex);
   q = mutex_get(p->mutex);
-  if (q && q->owner == thread_get_running_tid() && q->recursion_count > 0)
+  if (q && q->owner == DRD_(thread_get_running_tid)() && q->recursion_count > 0)
   {
     const ThreadId vg_tid = VG_(get_running_tid)();
     MutexErrInfo MEI = { q->a1, q->recursion_count, q->owner };
@@ -248,7 +248,7 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] cond_post_wait  cond 0x%lx",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  cond);
   }
 
@@ -271,7 +271,7 @@
 static void cond_signal(Addr const cond)
 {
   const ThreadId vg_tid = VG_(get_running_tid)();
-  const DrdThreadId drd_tid = VgThreadIdToDrdThreadId(vg_tid);
+  const DrdThreadId drd_tid = DRD_(VgThreadIdToDrdThreadId)(vg_tid);
   struct cond_info* const cond_p = cond_get(cond);
 
   if (cond_p && cond_p->waiter_count > 0)
@@ -306,7 +306,7 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] cond_signal     cond 0x%lx",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  cond);
   }
 
@@ -321,7 +321,7 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] cond_broadcast  cond 0x%lx",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  cond);
   }
 
diff --git a/drd/drd_error.c b/drd/drd_error.c
index 870cb2e..5c87812 100644
--- a/drd/drd_error.c
+++ b/drd/drd_error.c
@@ -114,7 +114,7 @@
   VG_(message)(Vg_UserMsg,
                "Conflicting %s by thread %d/%d at 0x%08lx size %ld",
                dri->access_type == eStore ? "store" : "load",
-               DrdThreadIdToVgThreadId(dri->tid),
+               DRD_(DrdThreadIdToVgThreadId)(dri->tid),
                dri->tid,
                dri->addr,
                dri->size);
@@ -152,8 +152,9 @@
   }
   if (s_drd_show_conflicting_segments)
   {
-    thread_report_conflicting_segments(dri->tid,
-                                       dri->addr, dri->size, dri->access_type);
+    DRD_(thread_report_conflicting_segments)(dri->tid,
+                                             dri->addr, dri->size,
+                                             dri->access_type);
   }
 
   VG_(free)(descr2);
@@ -211,7 +212,7 @@
                  "%s: cond 0x%lx, mutex 0x%lx locked by thread %d/%d",
                  VG_(get_error_string)(e),
                  cdi->cond, cdi->mutex,
-                 DrdThreadIdToVgThreadId(cdi->tid), cdi->tid);
+                 DRD_(DrdThreadIdToVgThreadId)(cdi->tid), cdi->tid);
     VG_(pp_ExeContext)(VG_(get_error_where)(e));
     first_observed(cdi->mutex);
     break;
diff --git a/drd/drd_load_store.c b/drd/drd_load_store.c
index a219cec..a13789f 100644
--- a/drd/drd_load_store.c
+++ b/drd/drd_load_store.c
@@ -52,20 +52,20 @@
 
 /* Local variables. */
 
-static Bool s_drd_check_stack_accesses = False;
+static Bool DRD_(s_check_stack_accesses) = False;
 
 
 /* Function definitions. */
 
 Bool DRD_(get_check_stack_accesses)()
 {
-  return s_drd_check_stack_accesses;
+  return DRD_(s_check_stack_accesses);
 }
 
 void DRD_(set_check_stack_accesses)(const Bool c)
 {
   tl_assert(c == False || c == True);
-  s_drd_check_stack_accesses = c;
+  DRD_(s_check_stack_accesses) = c;
 }
 
 void DRD_(trace_mem_access)(const Addr addr, const SizeT size,
@@ -74,7 +74,8 @@
   if (DRD_(is_any_traced)(addr, addr + size))
   {
     char vc[80];
-    DRD_(vc_snprint)(vc, sizeof(vc), thread_get_vc(thread_get_running_tid()));
+    DRD_(vc_snprint)(vc, sizeof(vc),
+                     DRD_(thread_get_vc)(DRD_(thread_get_running_tid)()));
     VG_(message)(Vg_UserMsg,
                  "%s 0x%lx size %ld (vg %d / drd %d / vc %s)",
                  access_type == eLoad
@@ -89,11 +90,11 @@
                  addr,
                  size,
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  vc);
     VG_(get_and_pp_StackTrace)(VG_(get_running_tid)(),
                                VG_(clo_backtrace_size));
-    tl_assert(DrdThreadIdToVgThreadId(thread_get_running_tid())
+    tl_assert(DRD_(DrdThreadIdToVgThreadId)(DRD_(thread_get_running_tid)())
               == VG_(get_running_tid)());
   }
 }
@@ -113,7 +114,7 @@
 {
   DataRaceErrInfo drei;
 
-  drei.tid  = thread_get_running_tid();
+  drei.tid  = DRD_(thread_get_running_tid)();
   drei.addr = addr;
   drei.size = size;
   drei.access_type = access_type;
@@ -132,8 +133,9 @@
             == VgThreadIdToDrdThreadId(VG_(get_running_tid())));
 #endif
 
-  if (running_thread_is_recording()
-      && (s_drd_check_stack_accesses || ! thread_address_on_stack(addr))
+  if (DRD_(running_thread_is_recording)()
+      && (DRD_(s_check_stack_accesses)
+          || ! DRD_(thread_address_on_stack)(addr))
       && bm_access_load_triggers_conflict(addr, addr + size)
       && ! DRD_(is_suppressed)(addr, addr + size))
   {
@@ -143,8 +145,9 @@
 
 static VG_REGPARM(1) void drd_trace_load_1(Addr addr)
 {
-  if (running_thread_is_recording()
-      && (s_drd_check_stack_accesses || ! thread_address_on_stack(addr))
+  if (DRD_(running_thread_is_recording)()
+      && (DRD_(s_check_stack_accesses)
+          || ! DRD_(thread_address_on_stack)(addr))
       && bm_access_load_1_triggers_conflict(addr)
       && ! DRD_(is_suppressed)(addr, addr + 1))
   {
@@ -154,8 +157,9 @@
 
 static VG_REGPARM(1) void drd_trace_load_2(Addr addr)
 {
-  if (running_thread_is_recording()
-      && (s_drd_check_stack_accesses || ! thread_address_on_stack(addr))
+  if (DRD_(running_thread_is_recording)()
+      && (DRD_(s_check_stack_accesses)
+          || ! DRD_(thread_address_on_stack)(addr))
       && bm_access_load_2_triggers_conflict(addr)
       && ! DRD_(is_suppressed)(addr, addr + 2))
   {
@@ -165,8 +169,9 @@
 
 static VG_REGPARM(1) void drd_trace_load_4(Addr addr)
 {
-  if (running_thread_is_recording()
-      && (s_drd_check_stack_accesses || ! thread_address_on_stack(addr))
+  if (DRD_(running_thread_is_recording)()
+      && (DRD_(s_check_stack_accesses)
+          || ! DRD_(thread_address_on_stack)(addr))
       && bm_access_load_4_triggers_conflict(addr)
       && ! DRD_(is_suppressed)(addr, addr + 4))
   {
@@ -176,8 +181,9 @@
 
 static VG_REGPARM(1) void drd_trace_load_8(Addr addr)
 {
-  if (running_thread_is_recording()
-      && (s_drd_check_stack_accesses || ! thread_address_on_stack(addr))
+  if (DRD_(running_thread_is_recording)()
+      && (DRD_(s_check_stack_accesses)
+          || ! DRD_(thread_address_on_stack)(addr))
       && bm_access_load_8_triggers_conflict(addr)
       && ! DRD_(is_suppressed)(addr, addr + 8))
   {
@@ -193,8 +199,9 @@
             == VgThreadIdToDrdThreadId(VG_(get_running_tid())));
 #endif
 
-  if (running_thread_is_recording()
-      && (s_drd_check_stack_accesses || ! thread_address_on_stack(addr))
+  if (DRD_(running_thread_is_recording)()
+      && (DRD_(s_check_stack_accesses)
+          || ! DRD_(thread_address_on_stack)(addr))
       && bm_access_store_triggers_conflict(addr, addr + size)
       && ! DRD_(is_suppressed)(addr, addr + size))
   {
@@ -204,8 +211,9 @@
 
 static VG_REGPARM(1) void drd_trace_store_1(Addr addr)
 {
-  if (running_thread_is_recording()
-      && (s_drd_check_stack_accesses || ! thread_address_on_stack(addr))
+  if (DRD_(running_thread_is_recording)()
+      && (DRD_(s_check_stack_accesses)
+          || ! DRD_(thread_address_on_stack)(addr))
       && bm_access_store_1_triggers_conflict(addr)
       && ! DRD_(is_suppressed)(addr, addr + 1))
   {
@@ -215,8 +223,9 @@
 
 static VG_REGPARM(1) void drd_trace_store_2(Addr addr)
 {
-  if (running_thread_is_recording()
-      && (s_drd_check_stack_accesses || ! thread_address_on_stack(addr))
+  if (DRD_(running_thread_is_recording)()
+      && (DRD_(s_check_stack_accesses)
+          || ! DRD_(thread_address_on_stack)(addr))
       && bm_access_store_2_triggers_conflict(addr)
       && ! DRD_(is_suppressed)(addr, addr + 2))
   {
@@ -226,8 +235,9 @@
 
 static VG_REGPARM(1) void drd_trace_store_4(Addr addr)
 {
-  if (running_thread_is_recording()
-      && (s_drd_check_stack_accesses || ! thread_address_on_stack(addr))
+  if (DRD_(running_thread_is_recording)()
+      && (DRD_(s_check_stack_accesses)
+          || ! DRD_(thread_address_on_stack)(addr))
       && bm_access_store_4_triggers_conflict(addr)
       && ! DRD_(is_suppressed)(addr, addr + 4))
   {
@@ -237,8 +247,9 @@
 
 static VG_REGPARM(1) void drd_trace_store_8(Addr addr)
 {
-  if (running_thread_is_recording()
-      && (s_drd_check_stack_accesses || ! thread_address_on_stack(addr))
+  if (DRD_(running_thread_is_recording)()
+      && (DRD_(s_check_stack_accesses)
+          || ! DRD_(thread_address_on_stack)(addr))
       && bm_access_store_8_triggers_conflict(addr)
       && ! DRD_(is_suppressed)(addr, addr + 8))
   {
@@ -298,7 +309,7 @@
 						    mkIRExpr_HWord(size)))));
   }
 
-  if (! s_drd_check_stack_accesses && is_stack_access(bb, addr_expr))
+  if (! DRD_(s_check_stack_accesses) && is_stack_access(bb, addr_expr))
     return;
 
   switch (size)
@@ -363,7 +374,7 @@
 						    mkIRExpr_HWord(size)))));
   }
 
-  if (! s_drd_check_stack_accesses && is_stack_access(bb, addr_expr))
+  if (! DRD_(s_check_stack_accesses) && is_stack_access(bb, addr_expr))
     return;
 
   switch (size)
diff --git a/drd/drd_main.c b/drd/drd_main.c
index ca8b6c3..d61dcda 100644
--- a/drd/drd_main.c
+++ b/drd/drd_main.c
@@ -118,7 +118,7 @@
     rwlock_set_shared_threshold(shared_threshold_ms);
   }
   if (segment_merging != -1)
-    thread_set_segment_merging(segment_merging);
+    DRD_(thread_set_segment_merging)(segment_merging);
   if (show_confl_seg != -1)
     set_show_conflicting_segments(show_confl_seg);
   if (trace_address)
@@ -133,11 +133,11 @@
   if (trace_cond != -1)
     cond_set_trace(trace_cond);
   if (trace_csw != -1)
-    thread_trace_context_switches(trace_csw);
+    DRD_(thread_trace_context_switches)(trace_csw);
   if (trace_fork_join != -1)
     DRD_(thread_set_trace_fork_join)(trace_fork_join);
   if (trace_conflict_set != -1)
-    thread_trace_conflict_set(trace_conflict_set);
+    DRD_(thread_trace_conflict_set)(trace_conflict_set);
   if (trace_mutex != -1)
     mutex_set_trace(trace_mutex);
   if (trace_rwlock != -1)
@@ -249,7 +249,7 @@
                                const Addr a,
                                const SizeT size)
 {
-  thread_set_vg_running_tid(VG_(get_running_tid)());
+  DRD_(thread_set_vg_running_tid)(VG_(get_running_tid)());
   if (size > 0)
   {
     drd_trace_store(a, size);
@@ -295,7 +295,7 @@
   }
   if (! is_stack_mem || DRD_(get_check_stack_accesses)())
   {
-    thread_stop_using_mem(a1, a2);
+    DRD_(thread_stop_using_mem)(a1, a2);
     DRD_(clientobj_stop_using_mem)(a1, a2);
     DRD_(suppression_stop_using_mem)(a1, a2);
   }
@@ -361,7 +361,7 @@
                                  const Bool rr, const Bool ww, const Bool xx,
                                  ULong di_handle)
 {
-  thread_set_vg_running_tid(VG_(get_running_tid)());
+  DRD_(thread_set_vg_running_tid)(VG_(get_running_tid)());
 
   drd_start_using_mem(a, len);
 
@@ -374,7 +374,8 @@
 static __inline__
 void drd_start_using_mem_stack(const Addr a, const SizeT len)
 {
-  thread_set_stack_min(thread_get_running_tid(), a - VG_STACK_REDZONE_SZB);
+  DRD_(thread_set_stack_min)(DRD_(thread_get_running_tid)(),
+                             a - VG_STACK_REDZONE_SZB);
   drd_start_using_mem(a - VG_STACK_REDZONE_SZB, 
                       len + VG_STACK_REDZONE_SZB);
 }
@@ -385,8 +386,8 @@
 static __inline__
 void drd_stop_using_mem_stack(const Addr a, const SizeT len)
 {
-  thread_set_stack_min(thread_get_running_tid(),
-                       a + len - VG_STACK_REDZONE_SZB);
+  DRD_(thread_set_stack_min)(DRD_(thread_get_running_tid)(),
+                             a + len - VG_STACK_REDZONE_SZB);
   drd_stop_using_mem(a - VG_STACK_REDZONE_SZB, len + VG_STACK_REDZONE_SZB,
                      True);
 }
@@ -395,7 +396,7 @@
                const Addr a, const SizeT len,
                ThreadId tid_for_whom_the_signal_frame_is_being_constructed)
 {
-  thread_set_vg_running_tid(VG_(get_running_tid)());
+  DRD_(thread_set_vg_running_tid)(VG_(get_running_tid)());
   drd_start_using_mem(a, len);
 }
 
@@ -407,12 +408,12 @@
 static
 void drd_pre_thread_create(const ThreadId creator, const ThreadId created)
 {
-  const DrdThreadId drd_creator = VgThreadIdToDrdThreadId(creator);
+  const DrdThreadId drd_creator = DRD_(VgThreadIdToDrdThreadId)(creator);
   tl_assert(created != VG_INVALID_THREADID);
-  thread_pre_create(drd_creator, created);
-  if (IsValidDrdThreadId(drd_creator))
+  DRD_(thread_pre_create)(drd_creator, created);
+  if (DRD_(IsValidDrdThreadId)(drd_creator))
   {
-    thread_new_segment(drd_creator);
+    DRD_(thread_new_segment)(drd_creator);
   }
   if (DRD_(thread_get_trace_fork_join)())
   {
@@ -432,7 +433,7 @@
 
   tl_assert(vg_created != VG_INVALID_THREADID);
 
-  drd_created = thread_post_create(vg_created);
+  drd_created = DRD_(thread_post_create)(vg_created);
   if (DRD_(thread_get_trace_fork_join)())
   {
     VG_(message)(Vg_DebugMsg,
@@ -441,9 +442,9 @@
   }
   if (! DRD_(get_check_stack_accesses)())
   {
-    DRD_(start_suppression)(thread_get_stack_max(drd_created)
-                            - thread_get_stack_size(drd_created),
-                            thread_get_stack_max(drd_created),
+    DRD_(start_suppression)(DRD_(thread_get_stack_max)(drd_created)
+                            - DRD_(thread_get_stack_size)(drd_created),
+                            DRD_(thread_get_stack_max)(drd_created),
                             "stack");
   }
 }
@@ -455,28 +456,29 @@
 
   tl_assert(VG_(get_running_tid)() == vg_tid);
 
-  drd_tid = VgThreadIdToDrdThreadId(vg_tid);
+  drd_tid = DRD_(VgThreadIdToDrdThreadId)(vg_tid);
   if (DRD_(thread_get_trace_fork_join)())
   {
     VG_(message)(Vg_DebugMsg,
                  "drd_thread_finished tid = %d/%d%s",
                  vg_tid,
                  drd_tid,
-                 thread_get_joinable(drd_tid)
+                 DRD_(thread_get_joinable)(drd_tid)
                  ? ""
                  : " (which is a detached thread)");
   }
   if (DRD_(s_show_stack_usage))
   {
-    const SizeT stack_size = thread_get_stack_size(drd_tid);
+    const SizeT stack_size = DRD_(thread_get_stack_size)(drd_tid);
     const SizeT used_stack
-      = thread_get_stack_max(drd_tid) - thread_get_stack_min_min(drd_tid);
+      = (DRD_(thread_get_stack_max)(drd_tid)
+         - DRD_(thread_get_stack_min_min)(drd_tid));
     VG_(message)(Vg_UserMsg,
                  "thread %d/%d%s finished and used %ld bytes out of %ld"
                  " on its stack. Margin: %ld bytes.",
                  vg_tid,
                  drd_tid,
-                 thread_get_joinable(drd_tid)
+                 DRD_(thread_get_joinable)(drd_tid)
                  ? ""
                  : " (which is a detached thread)",
                  used_stack,
@@ -484,12 +486,12 @@
                  stack_size - used_stack);
 
   }
-  drd_stop_using_mem(thread_get_stack_min(drd_tid),
-                     thread_get_stack_max(drd_tid)
-                     - thread_get_stack_min(drd_tid),
+  drd_stop_using_mem(DRD_(thread_get_stack_min)(drd_tid),
+                     DRD_(thread_get_stack_max)(drd_tid)
+                     - DRD_(thread_get_stack_min)(drd_tid),
                      True);
-  thread_stop_recording(drd_tid);
-  thread_finished(drd_tid);
+  DRD_(thread_stop_recording)(drd_tid);
+  DRD_(thread_finished)(drd_tid);
 }
 
 //
@@ -514,7 +516,7 @@
 static void drd_start_client_code(const ThreadId tid, const ULong bbs_done)
 {
   tl_assert(tid == VG_(get_running_tid)());
-  thread_set_vg_running_tid(tid);
+  DRD_(thread_set_vg_running_tid)(tid);
 }
 
 static void DRD_(fini)(Int exitcode)
@@ -527,12 +529,12 @@
     ULong dscvc;
 
     update_conflict_set_count
-      = thread_get_update_conflict_set_count(&dsnsc, &dscvc);
+      = DRD_(thread_get_update_conflict_set_count)(&dsnsc, &dscvc);
 
     VG_(message)(Vg_UserMsg,
                  "   thread: %lld context switches"
                  " / %lld updates of the conflict set",
-                 thread_get_context_switch_count(),
+                 DRD_(thread_get_context_switch_count)(),
                  update_conflict_set_count);
     VG_(message)(Vg_UserMsg,
                  "           (%lld new sg + %lld combine vc + %lld csw).",
@@ -544,7 +546,7 @@
                  " %lld discard points.",
                  DRD_(sg_get_segments_created_count)(),
                  DRD_(sg_get_max_segments_alive_count)(),
-                 thread_get_discard_ordered_segments_count());
+                 DRD_(thread_get_discard_ordered_segments_count)());
     VG_(message)(Vg_UserMsg,
                  "           (%lld m, %lld rw, %lld s, %lld b)",
                  get_mutex_segment_creation_count(),
diff --git a/drd/drd_mutex.c b/drd/drd_mutex.c
index 136a644..3f26508 100644
--- a/drd/drd_mutex.c
+++ b/drd/drd_mutex.c
@@ -90,7 +90,7 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] mutex_destroy   %s 0x%lx rc %d owner %d",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  mutex_get_typename(p),
                  p->a1,
                  p ? p->recursion_count : -1,
@@ -167,7 +167,7 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] mutex_init      %s 0x%lx",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  mutex_type_name(mutex_type),
                  mutex);
   }
@@ -230,7 +230,7 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] %s %s 0x%lx rc %d owner %d",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  trylock ? "pre_mutex_lock " : "mutex_trylock  ",
                  p ? mutex_get_typename(p) : "(?)",
                  mutex,
@@ -253,7 +253,7 @@
   }
 
   if (! trylock
-      && p->owner == thread_get_running_tid()
+      && p->owner == DRD_(thread_get_running_tid)()
       && p->recursion_count >= 1
       && mutex_type != mutex_type_recursive_mutex)
   {
@@ -274,7 +274,7 @@
 void mutex_post_lock(const Addr mutex, const Bool took_lock,
                      const Bool post_cond_wait)
 {
-  const DrdThreadId drd_tid = thread_get_running_tid();
+  const DrdThreadId drd_tid = DRD_(thread_get_running_tid)();
   struct mutex_info* p;
 
   p = mutex_get(mutex);
@@ -303,9 +303,9 @@
     if (last_owner != drd_tid && last_owner != DRD_INVALID_THREADID)
     {
       tl_assert(p->last_locked_segment);
-      thread_combine_vc2(drd_tid, &p->last_locked_segment->vc);
+      DRD_(thread_combine_vc2)(drd_tid, &p->last_locked_segment->vc);
     }
-    thread_new_segment(drd_tid);
+    DRD_(thread_new_segment)(drd_tid);
     s_mutex_segment_creation_count++;
 
     p->owner           = drd_tid;
@@ -338,7 +338,7 @@
  */
 void mutex_unlock(const Addr mutex, MutexT mutex_type)
 {
-  const DrdThreadId drd_tid = thread_get_running_tid();
+  const DrdThreadId drd_tid = DRD_(thread_get_running_tid)();
   const ThreadId vg_tid = VG_(get_running_tid)();
   struct mutex_info* p;
 
@@ -418,8 +418,8 @@
     /* current vector clock of the thread such that it is available when  */
     /* this mutex is locked again.                                        */
 
-    thread_get_latest_segment(&p->last_locked_segment, drd_tid);
-    thread_new_segment(drd_tid);
+    DRD_(thread_get_latest_segment)(&p->last_locked_segment, drd_tid);
+    DRD_(thread_new_segment)(drd_tid);
     p->acquired_at = 0;
     s_mutex_segment_creation_count++;
   }
diff --git a/drd/drd_rwlock.c b/drd/drd_rwlock.c
index 78abbb8..0cda736 100644
--- a/drd/drd_rwlock.c
+++ b/drd/drd_rwlock.c
@@ -166,7 +166,7 @@
   {
     if (q->tid != tid && (readers_too || q->last_lock_was_writer_lock))
     {
-      thread_combine_vc2(tid, &q->last_unlock_segment->vc);
+      DRD_(thread_combine_vc2)(tid, &q->last_unlock_segment->vc);
     }
   }
 }
@@ -198,7 +198,7 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] rwlock_destroy     0x%lx",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  p->a1);
   }
 
@@ -265,7 +265,7 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] rwlock_init        0x%lx",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  rwlock);
   }
 
@@ -323,14 +323,14 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] pre_rwlock_rdlock  0x%lx",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  rwlock);
   }
 
   p = rwlock_get_or_allocate(rwlock);
   tl_assert(p);
 
-  if (rwlock_is_wrlocked_by(p, thread_get_running_tid()))
+  if (rwlock_is_wrlocked_by(p, DRD_(thread_get_running_tid)()))
   {
     VG_(message)(Vg_UserMsg,
                  "reader-writer lock 0x%lx is already locked for"
@@ -345,7 +345,7 @@
  */
 void rwlock_post_rdlock(const Addr rwlock, const Bool took_lock)
 {
-  const DrdThreadId drd_tid = thread_get_running_tid();
+  const DrdThreadId drd_tid = DRD_(thread_get_running_tid)();
   struct rwlock_info* p;
   struct rwlock_thread_info* q;
 
@@ -370,7 +370,7 @@
   {
     rwlock_combine_other_vc(p, drd_tid, False);
     q->last_lock_was_writer_lock = False;
-    thread_new_segment(drd_tid);
+    DRD_(thread_new_segment)(drd_tid);
     s_rwlock_segment_creation_count++;
 
     p->acquiry_time_ms = VG_(read_millisecond_timer)();
@@ -394,7 +394,7 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] pre_rwlock_wrlock  0x%lx",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  rwlock);
   }
 
@@ -405,7 +405,7 @@
 
   tl_assert(p);
 
-  if (rwlock_is_wrlocked_by(p, thread_get_running_tid()))
+  if (rwlock_is_wrlocked_by(p, DRD_(thread_get_running_tid)()))
   {
     RwlockErrInfo REI = { p->a1 };
     VG_(maybe_record_error)(VG_(get_running_tid)(),
@@ -423,7 +423,7 @@
  */
 void rwlock_post_wrlock(const Addr rwlock, const Bool took_lock)
 {
-  const DrdThreadId drd_tid = thread_get_running_tid();
+  const DrdThreadId drd_tid = DRD_(thread_get_running_tid)();
   struct rwlock_info* p;
   struct rwlock_thread_info* q;
 
@@ -441,13 +441,13 @@
   if (! p || ! took_lock)
     return;
 
-  q = lookup_or_insert_node(p->thread_info, thread_get_running_tid());
+  q = lookup_or_insert_node(p->thread_info, DRD_(thread_get_running_tid)());
   tl_assert(q->writer_nesting_count == 0);
   q->writer_nesting_count++;
   q->last_lock_was_writer_lock = True;
   tl_assert(q->writer_nesting_count == 1);
   rwlock_combine_other_vc(p, drd_tid, True);
-  thread_new_segment(drd_tid);
+  DRD_(thread_new_segment)(drd_tid);
   s_rwlock_segment_creation_count++;
   p->acquiry_time_ms = VG_(read_millisecond_timer)();
   p->acquired_at     = VG_(record_ExeContext)(VG_(get_running_tid)(), 0);
@@ -464,7 +464,7 @@
  */
 void rwlock_pre_unlock(const Addr rwlock)
 {
-  const DrdThreadId drd_tid = thread_get_running_tid();
+  const DrdThreadId drd_tid = DRD_(thread_get_running_tid)();
   const ThreadId vg_tid = VG_(get_running_tid)();
   struct rwlock_info* p;
   struct rwlock_thread_info* q;
@@ -548,8 +548,8 @@
     /* current vector clock of the thread such that it is available when  */
     /* this rwlock is locked again.                                        */
 
-    thread_get_latest_segment(&q->last_unlock_segment, drd_tid);
-    thread_new_segment(drd_tid);
+    DRD_(thread_get_latest_segment)(&q->last_unlock_segment, drd_tid);
+    DRD_(thread_new_segment)(drd_tid);
     s_rwlock_segment_creation_count++;
   }
 }
diff --git a/drd/drd_segment.c b/drd/drd_segment.c
index 0c7cf03..266e819 100644
--- a/drd/drd_segment.c
+++ b/drd/drd_segment.c
@@ -56,13 +56,14 @@
                    DrdThreadId const created)
 {
   Segment* creator_sg;
-  ThreadId vg_created = DrdThreadIdToVgThreadId(created);
+  ThreadId vg_created = DRD_(DrdThreadIdToVgThreadId)(created);
 
   tl_assert(sg);
-  tl_assert(creator == DRD_INVALID_THREADID || IsValidDrdThreadId(creator));
+  tl_assert(creator == DRD_INVALID_THREADID
+            || DRD_(IsValidDrdThreadId)(creator));
 
   creator_sg = (creator != DRD_INVALID_THREADID
-                ? thread_get_segment(creator) : 0);
+                ? DRD_(thread_get_segment)(creator) : 0);
 
   sg->next = 0;
   sg->prev = 0;
@@ -86,7 +87,7 @@
     VG_(snprintf)(msg, sizeof(msg),
                   "New segment for thread %d/%d with vc ",
                   created != VG_INVALID_THREADID
-                  ? DrdThreadIdToVgThreadId(created)
+                  ? DRD_(DrdThreadIdToVgThreadId)(created)
                   : DRD_INVALID_THREADID,
                   created);
     DRD_(vc_snprint)(msg + VG_(strlen)(msg), sizeof(msg) - VG_(strlen)(msg),
diff --git a/drd/drd_semaphore.c b/drd/drd_semaphore.c
index c3bad6b..5d6143f 100644
--- a/drd/drd_semaphore.c
+++ b/drd/drd_semaphore.c
@@ -160,7 +160,7 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] semaphore_init      0x%lx value %u",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  semaphore,
                  value);
   }
@@ -202,7 +202,7 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] semaphore_destroy   0x%lx value %u",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  semaphore,
                  p ? p->value : 0);
   }
@@ -249,7 +249,7 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] semaphore_wait      0x%lx value %u -> %u",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  semaphore,
                  p ? p->value : 0,
                  p ? p->value - 1 : 0);
@@ -282,10 +282,10 @@
       if (p->last_sem_post_tid != tid
           && p->last_sem_post_tid != DRD_INVALID_THREADID)
       {
-        thread_combine_vc2(tid, &sg->vc);
+        DRD_(thread_combine_vc2)(tid, &sg->vc);
       }
       DRD_(sg_put)(sg);
-      thread_new_segment(tid);
+      DRD_(thread_new_segment)(tid);
       s_semaphore_segment_creation_count++;
     }
   }
@@ -305,15 +305,15 @@
     VG_(message)(Vg_UserMsg,
                  "[%d/%d] semaphore_post      0x%lx value %u -> %u",
                  VG_(get_running_tid)(),
-                 thread_get_running_tid(),
+                 DRD_(thread_get_running_tid)(),
                  semaphore,
                  p->value - 1, p->value);
   }
 
   p->last_sem_post_tid = tid;
-  thread_new_segment(tid);
+  DRD_(thread_new_segment)(tid);
   sg = 0;
-  thread_get_latest_segment(&sg, tid);
+  DRD_(thread_get_latest_segment)(&sg, tid);
   tl_assert(sg);
   segment_push(p, sg);
   s_semaphore_segment_creation_count++;
diff --git a/drd/drd_thread.c b/drd/drd_thread.c
index cdb0282..3f213e2 100644
--- a/drd/drd_thread.c
+++ b/drd/drd_thread.c
@@ -47,12 +47,13 @@
 
 /* Local functions. */
 
-static void thread_append_segment(const DrdThreadId tid,
-                                  Segment* const sg);
-static void thread_discard_segment(const DrdThreadId tid, Segment* const sg);
-static Bool thread_conflict_set_up_to_date(const DrdThreadId tid);
-static void thread_compute_conflict_set(struct bitmap** conflict_set,
-                                        const DrdThreadId tid);
+static void DRD_(thread_append_segment)(const DrdThreadId tid,
+                                        Segment* const sg);
+static void DRD_(thread_discard_segment)(const DrdThreadId tid,
+                                         Segment* const sg);
+static Bool DRD_(thread_conflict_set_up_to_date)(const DrdThreadId tid);
+static void DRD_(thread_compute_conflict_set)(struct bitmap** conflict_set,
+                                              const DrdThreadId tid);
 
 
 /* Local variables. */
@@ -76,13 +77,13 @@
 
 /* Function definitions. */
 
-void thread_trace_context_switches(const Bool t)
+void DRD_(thread_trace_context_switches)(const Bool t)
 {
   tl_assert(t == False || t == True);
   DRD_(s_trace_context_switches) = t;
 }
 
-void thread_trace_conflict_set(const Bool t)
+void DRD_(thread_trace_conflict_set)(const Bool t)
 {
   tl_assert(t == False || t == True);
   DRD_(s_trace_conflict_set) = t;
@@ -99,7 +100,7 @@
   DRD_(s_trace_fork_join) = t;
 }
 
-void thread_set_segment_merging(const Bool m)
+void DRD_(thread_set_segment_merging)(const Bool m)
 {
   tl_assert(m == False || m == True);
   DRD_(s_segment_merging) = m;
@@ -109,7 +110,7 @@
  * Convert Valgrind's ThreadId into a DrdThreadId. Report failure if
  * Valgrind's ThreadId does not yet exist.
  */
-DrdThreadId VgThreadIdToDrdThreadId(const ThreadId tid)
+DrdThreadId DRD_(VgThreadIdToDrdThreadId)(const ThreadId tid)
 {
   int i;
 
@@ -128,12 +129,11 @@
   return DRD_INVALID_THREADID;
 }
 
-static
-DrdThreadId VgThreadIdToNewDrdThreadId(const ThreadId tid)
+static DrdThreadId DRD_(VgThreadIdToNewDrdThreadId)(const ThreadId tid)
 {
   int i;
 
-  tl_assert(VgThreadIdToDrdThreadId(tid) == DRD_INVALID_THREADID);
+  tl_assert(DRD_(VgThreadIdToDrdThreadId)(tid) == DRD_INVALID_THREADID);
 
   for (i = 1; i < DRD_N_THREADS; i++)
   {
@@ -163,7 +163,7 @@
   return DRD_INVALID_THREADID;
 }
 
-DrdThreadId PtThreadIdToDrdThreadId(const PThreadId tid)
+DrdThreadId DRD_(PtThreadIdToDrdThreadId)(const PThreadId tid)
 {
   int i;
 
@@ -180,7 +180,7 @@
   return DRD_INVALID_THREADID;
 }
 
-ThreadId DrdThreadIdToVgThreadId(const DrdThreadId tid)
+ThreadId DRD_(DrdThreadIdToVgThreadId)(const DrdThreadId tid)
 {
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
             && tid != DRD_INVALID_THREADID);
@@ -195,7 +195,7 @@
  * ThreadInfo struct.
  * @return True if sane, False if not.
  */
-static Bool sane_ThreadInfo(const ThreadInfo* const ti)
+static Bool DRD_(sane_ThreadInfo)(const ThreadInfo* const ti)
 {
   Segment* p;
   for (p = ti->first; p; p = p->next) {
@@ -222,19 +222,19 @@
  * from the context of the creator thread, before the new thread has been
  * created.
  */
-DrdThreadId thread_pre_create(const DrdThreadId creator,
-                              const ThreadId vg_created)
+DrdThreadId DRD_(thread_pre_create)(const DrdThreadId creator,
+                                    const ThreadId vg_created)
 {
   DrdThreadId created;
 
-  tl_assert(VgThreadIdToDrdThreadId(vg_created) == DRD_INVALID_THREADID);
-  created = VgThreadIdToNewDrdThreadId(vg_created);
+  tl_assert(DRD_(VgThreadIdToDrdThreadId)(vg_created) == DRD_INVALID_THREADID);
+  created = DRD_(VgThreadIdToNewDrdThreadId)(vg_created);
   tl_assert(0 <= (int)created && created < DRD_N_THREADS
             && created != DRD_INVALID_THREADID);
 
   tl_assert(DRD_(g_threadinfo)[created].first == 0);
   tl_assert(DRD_(g_threadinfo)[created].last == 0);
-  thread_append_segment(created, DRD_(sg_new)(creator, created));
+  DRD_(thread_append_segment)(created, DRD_(sg_new)(creator, created));
 
   return created;
 }
@@ -245,9 +245,9 @@
  * on the newly created thread, e.g. from the handler installed via
  * VG_(track_pre_thread_first_insn)().
  */
-DrdThreadId thread_post_create(const ThreadId vg_created)
+DrdThreadId DRD_(thread_post_create)(const ThreadId vg_created)
 {
-  const DrdThreadId created = VgThreadIdToDrdThreadId(vg_created);
+  const DrdThreadId created = DRD_(VgThreadIdToDrdThreadId)(vg_created);
 
   tl_assert(0 <= (int)created && created < DRD_N_THREADS
             && created != DRD_INVALID_THREADID);
@@ -268,16 +268,16 @@
  */
 void DRD_(thread_post_join)(DrdThreadId drd_joiner, DrdThreadId drd_joinee)
 {
-  tl_assert(IsValidDrdThreadId(drd_joiner));
-  tl_assert(IsValidDrdThreadId(drd_joinee));
-  thread_new_segment(drd_joinee);
-  thread_combine_vc(drd_joiner, drd_joinee);
-  thread_new_segment(drd_joiner);
+  tl_assert(DRD_(IsValidDrdThreadId)(drd_joiner));
+  tl_assert(DRD_(IsValidDrdThreadId)(drd_joinee));
+  DRD_(thread_new_segment)(drd_joinee);
+  DRD_(thread_combine_vc)(drd_joiner, drd_joinee);
+  DRD_(thread_new_segment)(drd_joiner);
 
   if (DRD_(s_trace_fork_join))
   {
-    const ThreadId joiner = DrdThreadIdToVgThreadId(drd_joiner);
-    const ThreadId joinee = DrdThreadIdToVgThreadId(drd_joinee);
+    const ThreadId joiner = DRD_(DrdThreadIdToVgThreadId)(drd_joiner);
+    const ThreadId joinee = DRD_(DrdThreadIdToVgThreadId)(drd_joinee);
     const unsigned msg_size = 256;
     char* msg;
 
@@ -291,7 +291,7 @@
       VG_(snprintf)(msg + VG_(strlen)(msg), msg_size - VG_(strlen)(msg),
                     ", new vc: ");
       DRD_(vc_snprint)(msg + VG_(strlen)(msg), msg_size - VG_(strlen)(msg),
-                       thread_get_vc(drd_joiner));
+                       DRD_(thread_get_vc)(drd_joiner));
     }
     VG_(message)(Vg_DebugMsg, "%s", msg);
     VG_(free)(msg);
@@ -299,11 +299,11 @@
 
   if (!  DRD_(get_check_stack_accesses)())
   {
-    DRD_(finish_suppression)(thread_get_stack_max(drd_joinee)
-                             - thread_get_stack_size(drd_joinee),
-                             thread_get_stack_max(drd_joinee));
+    DRD_(finish_suppression)(DRD_(thread_get_stack_max)(drd_joinee)
+                             - DRD_(thread_get_stack_size)(drd_joinee),
+                             DRD_(thread_get_stack_max)(drd_joinee));
   }
-  thread_delete(drd_joinee);
+  DRD_(thread_delete)(drd_joinee);
   mutex_thread_delete(drd_joinee);
   cond_thread_delete(drd_joinee);
   semaphore_thread_delete(drd_joinee);
@@ -316,7 +316,8 @@
  * Any conflicting accesses in the range stack_startup..stack_max will be
  * ignored.
  */
-void thread_set_stack_startup(const DrdThreadId tid, const Addr stack_startup)
+void DRD_(thread_set_stack_startup)(const DrdThreadId tid,
+                                    const Addr stack_startup)
 {
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
             && tid != DRD_INVALID_THREADID);
@@ -325,28 +326,28 @@
   DRD_(g_threadinfo)[tid].stack_startup = stack_startup;
 }
 
-Addr thread_get_stack_min(const DrdThreadId tid)
+Addr DRD_(thread_get_stack_min)(const DrdThreadId tid)
 {
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
             && tid != DRD_INVALID_THREADID);
   return DRD_(g_threadinfo)[tid].stack_min;
 }
 
-Addr thread_get_stack_min_min(const DrdThreadId tid)
+Addr DRD_(thread_get_stack_min_min)(const DrdThreadId tid)
 {
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
             && tid != DRD_INVALID_THREADID);
   return DRD_(g_threadinfo)[tid].stack_min_min;
 }
 
-Addr thread_get_stack_max(const DrdThreadId tid)
+Addr DRD_(thread_get_stack_max)(const DrdThreadId tid)
 {
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
             && tid != DRD_INVALID_THREADID);
   return DRD_(g_threadinfo)[tid].stack_max;
 }
 
-SizeT thread_get_stack_size(const DrdThreadId tid)
+SizeT DRD_(thread_get_stack_size)(const DrdThreadId tid)
 {
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
             && tid != DRD_INVALID_THREADID);
@@ -357,7 +358,7 @@
  * Clean up thread-specific data structures. Call this just after 
  * pthread_join().
  */
-void thread_delete(const DrdThreadId tid)
+void DRD_(thread_delete)(const DrdThreadId tid)
 {
   Segment* sg;
   Segment* sg_prev;
@@ -384,7 +385,7 @@
  * thread_delete() is called. Note: thread_delete() is only called for
  * joinable threads, not for detached threads.
  */
-void thread_finished(const DrdThreadId tid)
+void DRD_(thread_finished)(const DrdThreadId tid)
 {
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
             && tid != DRD_INVALID_THREADID);
@@ -406,7 +407,7 @@
 }
 
 /** Called just before pthread_cancel(). */
-void thread_pre_cancel(const DrdThreadId tid)
+void DRD_(thread_pre_cancel)(const DrdThreadId tid)
 {
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
             && tid != DRD_INVALID_THREADID);
@@ -415,7 +416,7 @@
   DRD_(g_threadinfo)[tid].synchr_nesting = 0;
 }
 
-void thread_set_pthreadid(const DrdThreadId tid, const PThreadId ptid)
+void DRD_(thread_set_pthreadid)(const DrdThreadId tid, const PThreadId ptid)
 {
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
             && tid != DRD_INVALID_THREADID);
@@ -425,14 +426,14 @@
   DRD_(g_threadinfo)[tid].pt_threadid         = ptid;
 }
 
-Bool thread_get_joinable(const DrdThreadId tid)
+Bool DRD_(thread_get_joinable)(const DrdThreadId tid)
 {
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
             && tid != DRD_INVALID_THREADID);
   return ! DRD_(g_threadinfo)[tid].detached_posix_thread;
 }
 
-void thread_set_joinable(const DrdThreadId tid, const Bool joinable)
+void DRD_(thread_set_joinable)(const DrdThreadId tid, const Bool joinable)
 {
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
             && tid != DRD_INVALID_THREADID);
@@ -448,20 +449,22 @@
   DRD_(g_threadinfo)[tid].detached_posix_thread = ! joinable;
 }
 
-void thread_set_vg_running_tid(const ThreadId vg_tid)
+void DRD_(thread_set_vg_running_tid)(const ThreadId vg_tid)
 {
   tl_assert(vg_tid != VG_INVALID_THREADID);
 
   if (vg_tid != DRD_(s_vg_running_tid))
   {
-    thread_set_running_tid(vg_tid, VgThreadIdToDrdThreadId(vg_tid));
+    DRD_(thread_set_running_tid)(vg_tid,
+                                 DRD_(VgThreadIdToDrdThreadId)(vg_tid));
   }
 
   tl_assert(DRD_(s_vg_running_tid) != VG_INVALID_THREADID);
   tl_assert(DRD_(g_drd_running_tid) != DRD_INVALID_THREADID);
 }
 
-void thread_set_running_tid(const ThreadId vg_tid, const DrdThreadId drd_tid)
+void DRD_(thread_set_running_tid)(const ThreadId vg_tid,
+                                  const DrdThreadId drd_tid)
 {
   tl_assert(vg_tid != VG_INVALID_THREADID);
   tl_assert(drd_tid != DRD_INVALID_THREADID);
@@ -475,12 +478,12 @@
                    "Context switch from thread %d/%d to thread %d/%d;"
                    " segments: %llu",
                    DRD_(s_vg_running_tid), DRD_(g_drd_running_tid),
-                   DrdThreadIdToVgThreadId(drd_tid), drd_tid,
+                   DRD_(DrdThreadIdToVgThreadId)(drd_tid), drd_tid,
                    DRD_(sg_get_segments_alive_count)());
     }
     DRD_(s_vg_running_tid) = vg_tid;
     DRD_(g_drd_running_tid) = drd_tid;
-    thread_compute_conflict_set(&DRD_(g_conflict_set), drd_tid);
+    DRD_(thread_compute_conflict_set)(&DRD_(g_conflict_set), drd_tid);
     DRD_(s_context_switch_count)++;
   }
 
@@ -488,31 +491,32 @@
   tl_assert(DRD_(g_drd_running_tid) != DRD_INVALID_THREADID);
 }
 
-int thread_enter_synchr(const DrdThreadId tid)
+int DRD_(thread_enter_synchr)(const DrdThreadId tid)
 {
-  tl_assert(IsValidDrdThreadId(tid));
+  tl_assert(DRD_(IsValidDrdThreadId)(tid));
   return DRD_(g_threadinfo)[tid].synchr_nesting++;
 }
 
-int thread_leave_synchr(const DrdThreadId tid)
+int DRD_(thread_leave_synchr)(const DrdThreadId tid)
 {
-  tl_assert(IsValidDrdThreadId(tid));
+  tl_assert(DRD_(IsValidDrdThreadId)(tid));
   tl_assert(DRD_(g_threadinfo)[tid].synchr_nesting >= 1);
   return --DRD_(g_threadinfo)[tid].synchr_nesting;
 }
 
-int thread_get_synchr_nesting_count(const DrdThreadId tid)
+int DRD_(thread_get_synchr_nesting_count)(const DrdThreadId tid)
 {
-  tl_assert(IsValidDrdThreadId(tid));
+  tl_assert(DRD_(IsValidDrdThreadId)(tid));
   return DRD_(g_threadinfo)[tid].synchr_nesting;
 }
 
 /** Append a new segment at the end of the segment list. */
-static void thread_append_segment(const DrdThreadId tid, Segment* const sg)
+static
+void DRD_(thread_append_segment)(const DrdThreadId tid, Segment* const sg)
 {
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
             && tid != DRD_INVALID_THREADID);
-  // tl_assert(sane_ThreadInfo(&DRD_(g_threadinfo)[tid]));
+  // tl_assert(DRD_(sane_ThreadInfo)(&DRD_(g_threadinfo)[tid]));
   sg->prev = DRD_(g_threadinfo)[tid].last;
   sg->next = 0;
   if (DRD_(g_threadinfo)[tid].last)
@@ -520,18 +524,19 @@
   DRD_(g_threadinfo)[tid].last = sg;
   if (DRD_(g_threadinfo)[tid].first == 0)
     DRD_(g_threadinfo)[tid].first = sg;
-  // tl_assert(sane_ThreadInfo(&DRD_(g_threadinfo)[tid]));
+  // tl_assert(DRD_(sane_ThreadInfo)(&DRD_(g_threadinfo)[tid]));
 }
 
 /**
  * Remove a segment from the segment list of thread threadid, and free the
  * associated memory.
  */
-static void thread_discard_segment(const DrdThreadId tid, Segment* const sg)
+static
+void DRD_(thread_discard_segment)(const DrdThreadId tid, Segment* const sg)
 {
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
             && tid != DRD_INVALID_THREADID);
-  //tl_assert(sane_ThreadInfo(&DRD_(g_threadinfo)[tid]));
+  //tl_assert(DRD_(sane_ThreadInfo)(&DRD_(g_threadinfo)[tid]));
 
   if (sg->prev)
     sg->prev->next = sg->next;
@@ -543,10 +548,10 @@
     DRD_(g_threadinfo)[tid].last = sg->prev;
   DRD_(sg_put)(sg);
 
-  //tl_assert(sane_ThreadInfo(&DRD_(g_threadinfo)[tid]));
+  //tl_assert(DRD_(sane_ThreadInfo)(&DRD_(g_threadinfo)[tid]));
 }
 
-VectorClock* thread_get_vc(const DrdThreadId tid)
+VectorClock* DRD_(thread_get_vc)(const DrdThreadId tid)
 {
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
             && tid != DRD_INVALID_THREADID);
@@ -557,7 +562,7 @@
 /**
  * Return the latest segment of thread 'tid' and increment its reference count.
  */
-void thread_get_latest_segment(Segment** sg, const DrdThreadId tid)
+void DRD_(thread_get_latest_segment)(Segment** sg, const DrdThreadId tid)
 {
   tl_assert(sg);
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
@@ -573,14 +578,15 @@
  * (Michiel Ronsse calls this "clock snooping" in his papers about DIOTA).
  * @param vc pointer to a vectorclock, holds result upon return.
  */
-static void thread_compute_minimum_vc(VectorClock* vc)
+static void DRD_(thread_compute_minimum_vc)(VectorClock* vc)
 {
   unsigned i;
   Bool first;
   Segment* latest_sg;
 
   first = True;
-  for (i = 0; i < sizeof(DRD_(g_threadinfo)) / sizeof(DRD_(g_threadinfo)[0]); i++)
+  for (i = 0; i < sizeof(DRD_(g_threadinfo)) / sizeof(DRD_(g_threadinfo)[0]);
+       i++)
   {
     latest_sg = DRD_(g_threadinfo)[i].last;
     if (latest_sg)
@@ -594,14 +600,15 @@
   }
 }
 
-static void thread_compute_maximum_vc(VectorClock* vc)
+static void DRD_(thread_compute_maximum_vc)(VectorClock* vc)
 {
   unsigned i;
   Bool first;
   Segment* latest_sg;
 
   first = True;
-  for (i = 0; i < sizeof(DRD_(g_threadinfo)) / sizeof(DRD_(g_threadinfo)[0]); i++)
+  for (i = 0; i < sizeof(DRD_(g_threadinfo)) / sizeof(DRD_(g_threadinfo)[0]);
+       i++)
   {
     latest_sg = DRD_(g_threadinfo)[i].last;
     if (latest_sg)
@@ -620,7 +627,7 @@
  * clock of every thread -- these segments can no longer be involved in a
  * data race.
  */
-static void thread_discard_ordered_segments(void)
+static void DRD_(thread_discard_ordered_segments)(void)
 {
   unsigned i;
   VectorClock thread_vc_min;
@@ -628,14 +635,14 @@
   DRD_(s_discard_ordered_segments_count)++;
 
   DRD_(vc_init)(&thread_vc_min, 0, 0);
-  thread_compute_minimum_vc(&thread_vc_min);
+  DRD_(thread_compute_minimum_vc)(&thread_vc_min);
   if (DRD_(sg_get_trace)())
   {
     char msg[256];
     VectorClock thread_vc_max;
 
     DRD_(vc_init)(&thread_vc_max, 0, 0);
-    thread_compute_maximum_vc(&thread_vc_max);
+    DRD_(thread_compute_maximum_vc)(&thread_vc_max);
     VG_(snprintf)(msg, sizeof(msg),
                   "Discarding ordered segments -- min vc is ");
     DRD_(vc_snprint)(msg + VG_(strlen)(msg), sizeof(msg) - VG_(strlen)(msg),
@@ -648,7 +655,8 @@
     DRD_(vc_cleanup)(&thread_vc_max);
   }
 
-  for (i = 0; i < sizeof(DRD_(g_threadinfo)) / sizeof(DRD_(g_threadinfo)[0]); i++)
+  for (i = 0; i < sizeof(DRD_(g_threadinfo)) / sizeof(DRD_(g_threadinfo)[0]);
+       i++)
   {
     Segment* sg;
     Segment* sg_next;
@@ -656,7 +664,7 @@
          sg && (sg_next = sg->next) && DRD_(vc_lte)(&sg->vc, &thread_vc_min);
          sg = sg_next)
     {
-      thread_discard_segment(i, sg);
+      DRD_(thread_discard_segment)(i, sg);
     }
   }
   DRD_(vc_cleanup)(&thread_vc_min);
@@ -675,11 +683,12 @@
 {
   unsigned i;
 
-  for (i = 0; i < sizeof(DRD_(g_threadinfo)) / sizeof(DRD_(g_threadinfo)[0]); i++)
+  for (i = 0; i < sizeof(DRD_(g_threadinfo)) / sizeof(DRD_(g_threadinfo)[0]);
+       i++)
   {
     Segment* sg;
 
-    // tl_assert(sane_ThreadInfo(&DRD_(g_threadinfo)[i]));
+    // tl_assert(DRD_(sane_ThreadInfo)(&DRD_(g_threadinfo)[i]));
 
     for (sg = DRD_(g_threadinfo)[i].first; sg; sg = sg->next)
     {
@@ -690,11 +699,11 @@
       {
         /* Merge sg and sg->next into sg. */
         DRD_(sg_merge)(sg, sg->next);
-        thread_discard_segment(i, sg->next);
+        DRD_(thread_discard_segment)(i, sg->next);
       }
     }
 
-    // tl_assert(sane_ThreadInfo(&DRD_(g_threadinfo)[i]));
+    // tl_assert(DRD_(sane_ThreadInfo)(&DRD_(g_threadinfo)[i]));
   }
 }
 
@@ -729,7 +738,8 @@
   if (old_sg == 0)
     return True;
 
-  for (i = 0; i < sizeof(DRD_(g_threadinfo)) / sizeof(DRD_(g_threadinfo)[0]); i++)
+  for (i = 0; i < sizeof(DRD_(g_threadinfo)) / sizeof(DRD_(g_threadinfo)[0]);
+       i++)
   {
     Segment* q;
 
@@ -770,7 +780,7 @@
  * Create a new segment for the specified thread, and discard any segments
  * that cannot cause races anymore.
  */
-void thread_new_segment(const DrdThreadId tid)
+void DRD_(thread_new_segment)(const DrdThreadId tid)
 {
   Segment* new_sg;
 
@@ -778,20 +788,20 @@
             && tid != DRD_INVALID_THREADID);
 
   new_sg = DRD_(sg_new)(tid, tid);
-  thread_append_segment(tid, new_sg);
+  DRD_(thread_append_segment)(tid, new_sg);
 
   if (conflict_set_update_needed(tid, new_sg))
   {
-    thread_compute_conflict_set(&DRD_(g_conflict_set),
-                                DRD_(g_drd_running_tid));
+    DRD_(thread_compute_conflict_set)(&DRD_(g_conflict_set),
+                                      DRD_(g_drd_running_tid));
     DRD_(s_conflict_set_new_segment_count)++;
   }
   else if (tid == DRD_(g_drd_running_tid))
   {
-    tl_assert(thread_conflict_set_up_to_date(DRD_(g_drd_running_tid)));
+    tl_assert(DRD_(thread_conflict_set_up_to_date)(DRD_(g_drd_running_tid)));
   }
 
-  thread_discard_ordered_segments();
+  DRD_(thread_discard_ordered_segments)();
 
   if (DRD_(s_segment_merging))
   {
@@ -800,7 +810,7 @@
 }
 
 /** Call this function after thread 'joiner' joined thread 'joinee'. */
-void thread_combine_vc(DrdThreadId joiner, DrdThreadId joinee)
+void DRD_(thread_combine_vc)(DrdThreadId joiner, DrdThreadId joinee)
 {
   tl_assert(joiner != joinee);
   tl_assert(0 <= (int)joiner && joiner < DRD_N_THREADS
@@ -811,11 +821,11 @@
   tl_assert(DRD_(g_threadinfo)[joinee].last);
   DRD_(vc_combine)(&DRD_(g_threadinfo)[joiner].last->vc,
                    &DRD_(g_threadinfo)[joinee].last->vc);
-  thread_discard_ordered_segments();
+  DRD_(thread_discard_ordered_segments)();
 
   if (joiner == DRD_(g_drd_running_tid))
   {
-    thread_compute_conflict_set(&DRD_(g_conflict_set), joiner);
+    DRD_(thread_compute_conflict_set)(&DRD_(g_conflict_set), joiner);
   }
 }
 
@@ -824,15 +834,15 @@
  * synchronization until the memory accesses in the segment with vector clock
  * 'vc' finished.
  */
-void thread_combine_vc2(DrdThreadId tid, const VectorClock* const vc)
+void DRD_(thread_combine_vc2)(DrdThreadId tid, const VectorClock* const vc)
 {
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
             && tid != DRD_INVALID_THREADID);
   tl_assert(DRD_(g_threadinfo)[tid].last);
   tl_assert(vc);
   DRD_(vc_combine)(&DRD_(g_threadinfo)[tid].last->vc, vc);
-  thread_compute_conflict_set(&DRD_(g_conflict_set), tid);
-  thread_discard_ordered_segments();
+  DRD_(thread_compute_conflict_set)(&DRD_(g_conflict_set), tid);
+  DRD_(thread_discard_ordered_segments)();
   DRD_(s_conflict_set_combine_vc_count)++;
 }
 
@@ -841,14 +851,15 @@
  * [ a1, a2 [, e.g. because of a call to free() or a stack pointer
  * increase.
  */
-void thread_stop_using_mem(const Addr a1, const Addr a2)
+void DRD_(thread_stop_using_mem)(const Addr a1, const Addr a2)
 {
   DrdThreadId other_user;
   unsigned i;
 
   /* For all threads, mark the range [ a1, a2 [ as no longer in use. */
   other_user = DRD_INVALID_THREADID;
-  for (i = 0; i < sizeof(DRD_(g_threadinfo)) / sizeof(DRD_(g_threadinfo)[0]); i++)
+  for (i = 0; i < sizeof(DRD_(g_threadinfo)) / sizeof(DRD_(g_threadinfo)[0]);
+       i++)
   {
     Segment* p;
     for (p = DRD_(g_threadinfo)[i].first; p; p = p->next)
@@ -873,11 +884,12 @@
   if (other_user != DRD_INVALID_THREADID
       && bm_has_any_access(DRD_(g_conflict_set), a1, a2))
   {
-    thread_compute_conflict_set(&DRD_(g_conflict_set), thread_get_running_tid());
+    DRD_(thread_compute_conflict_set)(&DRD_(g_conflict_set),
+                                      DRD_(thread_get_running_tid)());
   }
 }
 
-void thread_start_recording(const DrdThreadId tid)
+void DRD_(thread_start_recording)(const DrdThreadId tid)
 {
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
             && tid != DRD_INVALID_THREADID);
@@ -885,7 +897,7 @@
   DRD_(g_threadinfo)[tid].is_recording = True;
 }
 
-void thread_stop_recording(const DrdThreadId tid)
+void DRD_(thread_stop_recording)(const DrdThreadId tid)
 {
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
             && tid != DRD_INVALID_THREADID);
@@ -893,12 +905,13 @@
   DRD_(g_threadinfo)[tid].is_recording = False;
 }
 
-void thread_print_all(void)
+void DRD_(thread_print_all)(void)
 {
   unsigned i;
   Segment* p;
 
-  for (i = 0; i < sizeof(DRD_(g_threadinfo)) / sizeof(DRD_(g_threadinfo)[0]); i++)
+  for (i = 0; i < sizeof(DRD_(g_threadinfo)) / sizeof(DRD_(g_threadinfo)[0]);
+       i++)
   {
     if (DRD_(g_threadinfo)[i].first)
     {
@@ -923,7 +936,7 @@
                             const Char* const msg,
                             ExeContext* const callstack)
 {
-  const ThreadId vg_tid = DrdThreadIdToVgThreadId(tid);
+  const ThreadId vg_tid = DRD_(DrdThreadIdToVgThreadId)(tid);
 
   VG_(message)(Vg_UserMsg, "%s (thread %d/%d)", msg, vg_tid, tid);
 
@@ -958,7 +971,8 @@
             && tid != DRD_INVALID_THREADID);
   tl_assert(p);
 
-  for (i = 0; i < sizeof(DRD_(g_threadinfo)) / sizeof(DRD_(g_threadinfo)[0]); i++)
+  for (i = 0; i < sizeof(DRD_(g_threadinfo)) / sizeof(DRD_(g_threadinfo)[0]);
+       i++)
   {
     if (i != tid)
     {
@@ -989,10 +1003,10 @@
   }
 }
 
-void thread_report_conflicting_segments(const DrdThreadId tid,
-                                        const Addr addr,
-                                        const SizeT size,
-                                        const BmAccessTypeT access_type)
+void DRD_(thread_report_conflicting_segments)(const DrdThreadId tid,
+                                              const Addr addr,
+                                              const SizeT size,
+                                              const BmAccessTypeT access_type)
 {
   Segment* p;
 
@@ -1013,7 +1027,7 @@
  * Verify whether the conflict set for thread tid is up to date. Only perform
  * the check if the environment variable DRD_VERIFY_CONFLICT_SET has been set.
  */
-static Bool thread_conflict_set_up_to_date(const DrdThreadId tid)
+static Bool DRD_(thread_conflict_set_up_to_date)(const DrdThreadId tid)
 {
   static int do_verify_conflict_set = -1;
   Bool result;
@@ -1027,7 +1041,7 @@
   if (do_verify_conflict_set == 0)
     return True;
 
-  thread_compute_conflict_set(&computed_conflict_set, tid);
+  DRD_(thread_compute_conflict_set)(&computed_conflict_set, tid);
   result = bm_equal(DRD_(g_conflict_set), computed_conflict_set);
   bm_delete(computed_conflict_set);
   return result;
@@ -1037,8 +1051,8 @@
  * Compute a bitmap that represents the union of all memory accesses of all
  * segments that are unordered to the current segment of the thread tid.
  */
-static void thread_compute_conflict_set(struct bitmap** conflict_set,
-                                        const DrdThreadId tid)
+static void DRD_(thread_compute_conflict_set)(struct bitmap** conflict_set,
+                                              const DrdThreadId tid)
 {
   Segment* p;
 
@@ -1062,7 +1076,7 @@
 
     VG_(snprintf)(msg, sizeof(msg),
                   "computing conflict set for thread %d/%d with vc ",
-                  DrdThreadIdToVgThreadId(tid), tid);
+                  DRD_(DrdThreadIdToVgThreadId)(tid), tid);
     DRD_(vc_snprint)(msg + VG_(strlen)(msg),
                      sizeof(msg) - VG_(strlen)(msg),
                      &DRD_(g_threadinfo)[tid].last->vc);
@@ -1088,7 +1102,7 @@
 
     for (j = 0; j < sizeof(DRD_(g_threadinfo)) / sizeof(DRD_(g_threadinfo)[0]); j++)
     {
-      if (j != tid && IsValidDrdThreadId(j))
+      if (j != tid && DRD_(IsValidDrdThreadId)(j))
       {
         const Segment* q;
         for (q = DRD_(g_threadinfo)[j].last; q; q = q->prev)
@@ -1136,17 +1150,17 @@
   }
 }
 
-ULong thread_get_context_switch_count(void)
+ULong DRD_(thread_get_context_switch_count)(void)
 {
   return DRD_(s_context_switch_count);
 }
 
-ULong thread_get_discard_ordered_segments_count(void)
+ULong DRD_(thread_get_discard_ordered_segments_count)(void)
 {
   return DRD_(s_discard_ordered_segments_count);
 }
 
-ULong thread_get_update_conflict_set_count(ULong* dsnsc, ULong* dscvc)
+ULong DRD_(thread_get_update_conflict_set_count)(ULong* dsnsc, ULong* dscvc)
 {
   tl_assert(dsnsc);
   tl_assert(dscvc);
@@ -1155,12 +1169,12 @@
   return DRD_(s_update_conflict_set_count);
 }
 
-ULong thread_get_conflict_set_bitmap_creation_count(void)
+ULong DRD_(thread_get_conflict_set_bitmap_creation_count)(void)
 {
   return DRD_(s_conflict_set_bitmap_creation_count);
 }
 
-ULong thread_get_conflict_set_bitmap2_creation_count(void)
+ULong DRD_(thread_get_conflict_set_bitmap2_creation_count)(void)
 {
   return DRD_(s_conflict_set_bitmap2_creation_count);
 }
diff --git a/drd/drd_thread.h b/drd/drd_thread.h
index b4534c3..6537463 100644
--- a/drd/drd_thread.h
+++ b/drd/drd_thread.h
@@ -94,67 +94,67 @@
 
 /* Function declarations. */
 
-void thread_trace_context_switches(const Bool t);
-void thread_trace_conflict_set(const Bool t);
+void DRD_(thread_trace_context_switches)(const Bool t);
+void DRD_(thread_trace_conflict_set)(const Bool t);
 Bool DRD_(thread_get_trace_fork_join)(void);
 void DRD_(thread_set_trace_fork_join)(const Bool t);
-void thread_set_segment_merging(const Bool m);
+void DRD_(thread_set_segment_merging)(const Bool m);
 
-DrdThreadId VgThreadIdToDrdThreadId(const ThreadId tid);
-DrdThreadId NewVgThreadIdToDrdThreadId(const ThreadId tid);
-DrdThreadId PtThreadIdToDrdThreadId(const PThreadId tid);
-ThreadId DrdThreadIdToVgThreadId(const DrdThreadId tid);
-DrdThreadId thread_pre_create(const DrdThreadId creator,
+DrdThreadId DRD_(VgThreadIdToDrdThreadId)(const ThreadId tid);
+DrdThreadId DRD_(NewVgThreadIdToDrdThreadId)(const ThreadId tid);
+DrdThreadId DRD_(PtThreadIdToDrdThreadId)(const PThreadId tid);
+ThreadId DRD_(DrdThreadIdToVgThreadId)(const DrdThreadId tid);
+DrdThreadId DRD_(thread_pre_create)(const DrdThreadId creator,
                               const ThreadId vg_created);
-DrdThreadId thread_post_create(const ThreadId vg_created);
+DrdThreadId DRD_(thread_post_create)(const ThreadId vg_created);
 void DRD_(thread_post_join)(DrdThreadId drd_joiner, DrdThreadId drd_joinee);
-void thread_delete(const DrdThreadId tid);
-void thread_finished(const DrdThreadId tid);
-void thread_pre_cancel(const DrdThreadId tid);
-void thread_set_stack_startup(const DrdThreadId tid, const Addr stack_startup);
-Addr thread_get_stack_min(const DrdThreadId tid);
-Addr thread_get_stack_min_min(const DrdThreadId tid);
-Addr thread_get_stack_max(const DrdThreadId tid);
-SizeT thread_get_stack_size(const DrdThreadId tid);
-void thread_set_pthreadid(const DrdThreadId tid, const PThreadId ptid);
-Bool thread_get_joinable(const DrdThreadId tid);
-void thread_set_joinable(const DrdThreadId tid, const Bool joinable);
-void thread_set_vg_running_tid(const ThreadId vg_tid);
-void thread_set_running_tid(const ThreadId vg_tid,
+void DRD_(thread_delete)(const DrdThreadId tid);
+void DRD_(thread_finished)(const DrdThreadId tid);
+void DRD_(thread_pre_cancel)(const DrdThreadId tid);
+void DRD_(thread_set_stack_startup)(const DrdThreadId tid, const Addr stack_startup);
+Addr DRD_(thread_get_stack_min)(const DrdThreadId tid);
+Addr DRD_(thread_get_stack_min_min)(const DrdThreadId tid);
+Addr DRD_(thread_get_stack_max)(const DrdThreadId tid);
+SizeT DRD_(thread_get_stack_size)(const DrdThreadId tid);
+void DRD_(thread_set_pthreadid)(const DrdThreadId tid, const PThreadId ptid);
+Bool DRD_(thread_get_joinable)(const DrdThreadId tid);
+void DRD_(thread_set_joinable)(const DrdThreadId tid, const Bool joinable);
+void DRD_(thread_set_vg_running_tid)(const ThreadId vg_tid);
+void DRD_(thread_set_running_tid)(const ThreadId vg_tid,
                             const DrdThreadId drd_tid);
-int thread_enter_synchr(const DrdThreadId tid);
-int thread_leave_synchr(const DrdThreadId tid);
-int thread_get_synchr_nesting_count(const DrdThreadId tid);
-void thread_new_segment(const DrdThreadId tid);
-VectorClock* thread_get_vc(const DrdThreadId tid);
-void thread_get_latest_segment(Segment** sg, const DrdThreadId tid);
-void thread_combine_vc(const DrdThreadId joiner, const DrdThreadId joinee);
-void thread_combine_vc2(const DrdThreadId tid, const VectorClock* const vc);
+int DRD_(thread_enter_synchr)(const DrdThreadId tid);
+int DRD_(thread_leave_synchr)(const DrdThreadId tid);
+int DRD_(thread_get_synchr_nesting_count)(const DrdThreadId tid);
+void DRD_(thread_new_segment)(const DrdThreadId tid);
+VectorClock* DRD_(thread_get_vc)(const DrdThreadId tid);
+void DRD_(thread_get_latest_segment)(Segment** sg, const DrdThreadId tid);
+void DRD_(thread_combine_vc)(const DrdThreadId joiner, const DrdThreadId joinee);
+void DRD_(thread_combine_vc2)(const DrdThreadId tid, const VectorClock* const vc);
 
-void thread_stop_using_mem(const Addr a1, const Addr a2);
-void thread_start_recording(const DrdThreadId tid);
-void thread_stop_recording(const DrdThreadId tid);
-void thread_print_all(void);
-void thread_report_races(const DrdThreadId tid);
-void thread_report_races_segment(const DrdThreadId tid,
+void DRD_(thread_stop_using_mem)(const Addr a1, const Addr a2);
+void DRD_(thread_start_recording)(const DrdThreadId tid);
+void DRD_(thread_stop_recording)(const DrdThreadId tid);
+void DRD_(thread_print_all)(void);
+void DRD_(thread_report_races)(const DrdThreadId tid);
+void DRD_(thread_report_races_segment)(const DrdThreadId tid,
                                  const Segment* const p);
-void thread_report_all_races(void);
-void thread_report_conflicting_segments(const DrdThreadId tid,
+void DRD_(thread_report_all_races)(void);
+void DRD_(thread_report_conflicting_segments)(const DrdThreadId tid,
                                         const Addr addr,
                                         const SizeT size,
                                         const BmAccessTypeT access_type);
-ULong thread_get_context_switch_count(void);
-ULong thread_get_report_races_count(void);
-ULong thread_get_discard_ordered_segments_count(void);
-ULong thread_get_update_conflict_set_count(ULong* dsnsc, ULong* dscvc);
-ULong thread_get_conflict_set_bitmap_creation_count(void);
-ULong thread_get_conflict_set_bitmap2_creation_count(void);
+ULong DRD_(thread_get_context_switch_count)(void);
+ULong DRD_(thread_get_report_races_count)(void);
+ULong DRD_(thread_get_discard_ordered_segments_count)(void);
+ULong DRD_(thread_get_update_conflict_set_count)(ULong* dsnsc, ULong* dscvc);
+ULong DRD_(thread_get_conflict_set_bitmap_creation_count)(void);
+ULong DRD_(thread_get_conflict_set_bitmap2_creation_count)(void);
 
 
 /* Inline function definitions. */
 
 static __inline__
-Bool IsValidDrdThreadId(const DrdThreadId tid)
+Bool DRD_(IsValidDrdThreadId)(const DrdThreadId tid)
 {
   return (0 <= (int)tid && tid < DRD_N_THREADS && tid != DRD_INVALID_THREADID
           && ! (DRD_(g_threadinfo)[tid].vg_thread_exists == False
@@ -163,20 +163,20 @@
 }
 
 static __inline__
-DrdThreadId thread_get_running_tid(void)
+DrdThreadId DRD_(thread_get_running_tid)(void)
 {
   tl_assert(DRD_(g_drd_running_tid) != DRD_INVALID_THREADID);
   return DRD_(g_drd_running_tid);
 }
 
 static __inline__
-struct bitmap* thread_get_conflict_set(void)
+struct bitmap* DRD_(thread_get_conflict_set)(void)
 {
   return DRD_(g_conflict_set);
 }
 
 static __inline__
-Bool running_thread_is_recording(void)
+Bool DRD_(running_thread_is_recording)(void)
 {
 #ifdef ENABLE_DRD_CONSISTENCY_CHECKS
   tl_assert(0 <= (int)DRD_(g_drd_running_tid) && DRD_(g_drd_running_tid) < DRD_N_THREADS
@@ -187,7 +187,7 @@
 }
 
 static __inline__
-void thread_set_stack_min(const DrdThreadId tid, const Addr stack_min)
+void DRD_(thread_set_stack_min)(const DrdThreadId tid, const Addr stack_min)
 {
 #ifdef ENABLE_DRD_CONSISTENCY_CHECKS
   tl_assert(0 <= (int)tid
@@ -212,7 +212,7 @@
  * currently scheduled thread.
  */
 static __inline__
-Bool thread_address_on_stack(const Addr a)
+Bool DRD_(thread_address_on_stack)(const Addr a)
 {
   return (DRD_(g_threadinfo)[DRD_(g_drd_running_tid)].stack_min <= a
 	  && a < DRD_(g_threadinfo)[DRD_(g_drd_running_tid)].stack_max);
@@ -220,7 +220,7 @@
 
 /** Return a pointer to the latest segment for the specified thread. */
 static __inline__
-Segment* thread_get_segment(const DrdThreadId tid)
+Segment* DRD_(thread_get_segment)(const DrdThreadId tid)
 {
 #ifdef ENABLE_DRD_CONSISTENCY_CHECKS
   tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
@@ -232,9 +232,9 @@
 
 /** Return a pointer to the latest segment for the running thread. */
 static __inline__
-Segment* running_thread_get_segment(void)
+Segment* DRD_(running_thread_get_segment)(void)
 {
-  return thread_get_segment(DRD_(g_drd_running_tid));
+  return DRD_(thread_get_segment)(DRD_(g_drd_running_tid));
 }
 
 #endif // __THREAD_H
diff --git a/drd/drd_thread_bitmap.h b/drd/drd_thread_bitmap.h
index aa43e83..c752360 100644
--- a/drd/drd_thread_bitmap.h
+++ b/drd/drd_thread_bitmap.h
@@ -35,8 +35,8 @@
 static __inline__
 Bool bm_access_load_1_triggers_conflict(const Addr a1)
 {
-  bm_access_load_1(running_thread_get_segment()->bm, a1);
-  return bm_load_1_has_conflict_with(thread_get_conflict_set(), a1);
+  bm_access_load_1(DRD_(running_thread_get_segment)()->bm, a1);
+  return bm_load_1_has_conflict_with(DRD_(thread_get_conflict_set)(), a1);
 }
 
 static __inline__
@@ -44,13 +44,13 @@
 {
   if ((a1 & 1) == 0)
   {
-    bm_access_aligned_load(running_thread_get_segment()->bm, a1, 2);
-    return bm_aligned_load_has_conflict_with(thread_get_conflict_set(), a1, 2);
+    bm_access_aligned_load(DRD_(running_thread_get_segment)()->bm, a1, 2);
+    return bm_aligned_load_has_conflict_with(DRD_(thread_get_conflict_set)(), a1, 2);
   }
   else
   {
-    bm_access_range(running_thread_get_segment()->bm, a1, a1 + 2, eLoad);
-    return bm_has_conflict_with(thread_get_conflict_set(), a1, a1 + 2, eLoad);
+    bm_access_range(DRD_(running_thread_get_segment)()->bm, a1, a1 + 2, eLoad);
+    return bm_has_conflict_with(DRD_(thread_get_conflict_set)(), a1, a1 + 2, eLoad);
   }
 }
 
@@ -59,13 +59,13 @@
 {
   if ((a1 & 3) == 0)
   {
-    bm_access_aligned_load(running_thread_get_segment()->bm, a1, 4);
-    return bm_aligned_load_has_conflict_with(thread_get_conflict_set(), a1, 4);
+    bm_access_aligned_load(DRD_(running_thread_get_segment)()->bm, a1, 4);
+    return bm_aligned_load_has_conflict_with(DRD_(thread_get_conflict_set)(), a1, 4);
   }
   else
   {
-    bm_access_range(running_thread_get_segment()->bm, a1, a1 + 4, eLoad);
-    return bm_has_conflict_with(thread_get_conflict_set(), a1, a1 + 4, eLoad);
+    bm_access_range(DRD_(running_thread_get_segment)()->bm, a1, a1 + 4, eLoad);
+    return bm_has_conflict_with(DRD_(thread_get_conflict_set)(), a1, a1 + 4, eLoad);
   }
 }
 
@@ -74,34 +74,34 @@
 {
   if ((a1 & 7) == 0)
   {
-    bm_access_aligned_load(running_thread_get_segment()->bm, a1, 8);
-    return bm_aligned_load_has_conflict_with(thread_get_conflict_set(), a1, 8);
+    bm_access_aligned_load(DRD_(running_thread_get_segment)()->bm, a1, 8);
+    return bm_aligned_load_has_conflict_with(DRD_(thread_get_conflict_set)(), a1, 8);
   }
   else if ((a1 & 3) == 0)
   {
-    bm_access_aligned_load(running_thread_get_segment()->bm, a1 + 0, 4);
-    bm_access_aligned_load(running_thread_get_segment()->bm, a1 + 4, 4);
-    return bm_has_conflict_with(thread_get_conflict_set(), a1, a1 + 8, eLoad);
+    bm_access_aligned_load(DRD_(running_thread_get_segment)()->bm, a1 + 0, 4);
+    bm_access_aligned_load(DRD_(running_thread_get_segment)()->bm, a1 + 4, 4);
+    return bm_has_conflict_with(DRD_(thread_get_conflict_set)(), a1, a1 + 8, eLoad);
   }
   else
   {
-    bm_access_range(running_thread_get_segment()->bm, a1, a1 + 8, eLoad);
-    return bm_has_conflict_with(thread_get_conflict_set(), a1, a1 + 8, eLoad);
+    bm_access_range(DRD_(running_thread_get_segment)()->bm, a1, a1 + 8, eLoad);
+    return bm_has_conflict_with(DRD_(thread_get_conflict_set)(), a1, a1 + 8, eLoad);
   }
 }
 
 static __inline__
 Bool bm_access_load_triggers_conflict(const Addr a1, const Addr a2)
 {
-  bm_access_range_load(running_thread_get_segment()->bm, a1, a2);
-  return bm_load_has_conflict_with(thread_get_conflict_set(), a1, a2);
+  bm_access_range_load(DRD_(running_thread_get_segment)()->bm, a1, a2);
+  return bm_load_has_conflict_with(DRD_(thread_get_conflict_set)(), a1, a2);
 }
 
 static __inline__
 Bool bm_access_store_1_triggers_conflict(const Addr a1)
 {
-  bm_access_store_1(running_thread_get_segment()->bm, a1);
-  return bm_store_1_has_conflict_with(thread_get_conflict_set(), a1);
+  bm_access_store_1(DRD_(running_thread_get_segment)()->bm, a1);
+  return bm_store_1_has_conflict_with(DRD_(thread_get_conflict_set)(), a1);
 }
 
 static __inline__
@@ -109,13 +109,13 @@
 {
   if ((a1 & 1) == 0)
   {
-    bm_access_aligned_store(running_thread_get_segment()->bm, a1, 2);
-    return bm_aligned_store_has_conflict_with(thread_get_conflict_set(), a1, 2);
+    bm_access_aligned_store(DRD_(running_thread_get_segment)()->bm, a1, 2);
+    return bm_aligned_store_has_conflict_with(DRD_(thread_get_conflict_set)(), a1, 2);
   }
   else
   {
-    bm_access_range(running_thread_get_segment()->bm, a1, a1 + 2, eStore);
-    return bm_has_conflict_with(thread_get_conflict_set(), a1, a1 + 2, eStore);
+    bm_access_range(DRD_(running_thread_get_segment)()->bm, a1, a1 + 2, eStore);
+    return bm_has_conflict_with(DRD_(thread_get_conflict_set)(), a1, a1 + 2, eStore);
   }
 }
 
@@ -124,13 +124,13 @@
 {
   if ((a1 & 3) == 0)
   {
-    bm_access_aligned_store(running_thread_get_segment()->bm, a1, 4);
-    return bm_aligned_store_has_conflict_with(thread_get_conflict_set(), a1, 4);
+    bm_access_aligned_store(DRD_(running_thread_get_segment)()->bm, a1, 4);
+    return bm_aligned_store_has_conflict_with(DRD_(thread_get_conflict_set)(), a1, 4);
   }
   else
   {
-    bm_access_range(running_thread_get_segment()->bm, a1, a1 + 4, eStore);
-    return bm_has_conflict_with(thread_get_conflict_set(), a1, a1 + 4, eStore);
+    bm_access_range(DRD_(running_thread_get_segment)()->bm, a1, a1 + 4, eStore);
+    return bm_has_conflict_with(DRD_(thread_get_conflict_set)(), a1, a1 + 4, eStore);
   }
 }
 
@@ -139,27 +139,27 @@
 {
   if ((a1 & 7) == 0)
   {
-    bm_access_aligned_store(running_thread_get_segment()->bm, a1, 8);
-    return bm_aligned_store_has_conflict_with(thread_get_conflict_set(), a1, 8);
+    bm_access_aligned_store(DRD_(running_thread_get_segment)()->bm, a1, 8);
+    return bm_aligned_store_has_conflict_with(DRD_(thread_get_conflict_set)(), a1, 8);
   }
   else if ((a1 & 3) == 0)
   {
-    bm_access_aligned_store(running_thread_get_segment()->bm, a1 + 0, 4);
-    bm_access_aligned_store(running_thread_get_segment()->bm, a1 + 4, 4);
-    return bm_has_conflict_with(thread_get_conflict_set(), a1, a1 + 8, eStore);
+    bm_access_aligned_store(DRD_(running_thread_get_segment)()->bm, a1 + 0, 4);
+    bm_access_aligned_store(DRD_(running_thread_get_segment)()->bm, a1 + 4, 4);
+    return bm_has_conflict_with(DRD_(thread_get_conflict_set)(), a1, a1 + 8, eStore);
   }
   else
   {
-    bm_access_range(running_thread_get_segment()->bm, a1, a1 + 8, eStore);
-    return bm_has_conflict_with(thread_get_conflict_set(), a1, a1 + 8, eStore);
+    bm_access_range(DRD_(running_thread_get_segment)()->bm, a1, a1 + 8, eStore);
+    return bm_has_conflict_with(DRD_(thread_get_conflict_set)(), a1, a1 + 8, eStore);
   }
 }
 
 static __inline__
 Bool bm_access_store_triggers_conflict(const Addr a1, const Addr a2)
 {
-  bm_access_range_store(running_thread_get_segment()->bm, a1, a2);
-  return bm_store_has_conflict_with(thread_get_conflict_set(), a1, a2);
+  bm_access_range_store(DRD_(running_thread_get_segment)()->bm, a1, a2);
+  return bm_store_has_conflict_with(DRD_(thread_get_conflict_set)(), a1, a2);
 }
 
 #endif // __DRD_THREAD_BITMAP_H