|
From: <sv...@va...> - 2009-06-06 09:28:33
|
Author: bart
Date: 2009-06-06 10:28:28 +0100 (Sat, 06 Jun 2009)
New Revision: 10261
Log:
Disabled libgomp intercepts. Since libgomp support was added to DRD, the
libgomp ABI has changed. Two new functions have been added, namely
gomp_team_barrier_wait() and gomp_team_barrier_wake(). The simplest way
to support all libgomp functions is by disabling the libgomp intercepts.
This fixes bug #195169.
Modified:
trunk/drd/drd_gomp_intercepts.c
trunk/drd/drd_semaphore.c
Modified: trunk/drd/drd_gomp_intercepts.c
===================================================================
--- trunk/drd/drd_gomp_intercepts.c 2009-06-06 08:56:00 UTC (rev 10260)
+++ trunk/drd/drd_gomp_intercepts.c 2009-06-06 09:28:28 UTC (rev 10261)
@@ -59,6 +59,8 @@
// Function definitions.
+#if 0
+
GOMP_FUNC(void, gompZubarrierZuinit, // gomp_barrier_init
gomp_barrier_t* barrier, unsigned count)
{
@@ -115,3 +117,5 @@
VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_BARRIER_WAIT,
barrier, gomp_barrier, 1, 0, 0);
}
+
+#endif
Modified: trunk/drd/drd_semaphore.c
===================================================================
--- trunk/drd/drd_semaphore.c 2009-06-06 08:56:00 UTC (rev 10260)
+++ trunk/drd/drd_semaphore.c 2009-06-06 09:28:28 UTC (rev 10261)
@@ -299,14 +299,15 @@
tl_assert(sg);
if (sg)
{
+ DRD_(thread_new_segment)(tid);
+ s_semaphore_segment_creation_count++;
+
if (p->last_sem_post_tid != tid
&& p->last_sem_post_tid != DRD_INVALID_THREADID)
{
DRD_(thread_combine_vc2)(tid, &sg->vc);
}
DRD_(sg_put)(sg);
- DRD_(thread_new_segment)(tid);
- s_semaphore_segment_creation_count++;
}
}
}
@@ -331,11 +332,11 @@
}
p->last_sem_post_tid = tid;
- DRD_(thread_new_segment)(tid);
sg = 0;
DRD_(thread_get_latest_segment)(&sg, tid);
tl_assert(sg);
DRD_(segment_push)(p, sg);
+ DRD_(thread_new_segment)(tid);
s_semaphore_segment_creation_count++;
}
|