https://bugs.kde.org/show_bug.cgi?id=407764

--- Comment #1 from Mark Wielaard <[email protected]> ---
One odd thing is that if you try to add some extra debug statements like:

diff --git a/drd/drd_pthread_intercepts.c b/drd/drd_pthread_intercepts.c
index d6abd4368..b15b75945 100644
--- a/drd/drd_pthread_intercepts.c
+++ b/drd/drd_pthread_intercepts.c
@@ -1080,9 +1080,11 @@ int pthread_cond_wait_intercept(pthread_cond_t *cond,
pthread_mutex_t *mutex)
    int   ret;
    OrigFn fn;
    VALGRIND_GET_ORIG_FN(fn);
+ printf ("pthread_cond_wait_intercept pre cond: %p\n", cond);
    VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__PRE_COND_WAIT,
                                    cond, mutex, DRD_(mutex_type)(mutex), 0,
0);
    CALL_FN_W_WW(ret, fn, cond, mutex);
+ printf ("pthread_cond_wait_intercept post cond: %p\n", cond);
    VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__POST_COND_WAIT,
                                    cond, mutex, 1, 0, 0);
    return ret;

Note that now the --trace-cond=yes debug statements seem to print the correct
cond address. But the new printf debug statements print the wrong cond
addresses ???

So it might be some strange interaction with the
VALGRIND_DO_CLIENT_REQUEST_STMT and CALL_FN_W_WW macros?

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to