Fix: pthread wrapper ip context
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 10 Jun 2015 11:15:28 +0000 (13:15 +0200)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 10 Jun 2015 11:51:49 +0000 (13:51 +0200)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
liblttng-ust-libc-wrapper/lttng-ust-pthread.c
liblttng-ust-libc-wrapper/ust_pthread.h

index 45789aa3463108c72990ad752912309870514a39..0fb74ed854afa99bf8bb2b9f3d73e900607c6fff 100644 (file)
@@ -22,6 +22,7 @@
 
 #define TRACEPOINT_DEFINE
 #define TRACEPOINT_CREATE_PROBES
+#define TP_IP_PARAM ip
 #include "ust_pthread.h"
 
 static __thread int thread_in_trace;
@@ -46,9 +47,11 @@ int pthread_mutex_lock(pthread_mutex_t *mutex)
        }
 
        thread_in_trace = 1;
-       tracepoint(ust_pthread, pthread_mutex_lock_req, mutex);
+       tracepoint(ust_pthread, pthread_mutex_lock_req, mutex,
+               __builtin_return_address(0));
        retval = mutex_lock(mutex);
-       tracepoint(ust_pthread, pthread_mutex_lock_acq, mutex, retval);
+       tracepoint(ust_pthread, pthread_mutex_lock_acq, mutex, retval,
+               __builtin_return_address(0));
        thread_in_trace = 0;
        return retval;
 }
@@ -74,7 +77,8 @@ int pthread_mutex_trylock(pthread_mutex_t *mutex)
 
        thread_in_trace = 1;
        retval = mutex_trylock(mutex);
-       tracepoint(ust_pthread, pthread_mutex_trylock, mutex, retval);
+       tracepoint(ust_pthread, pthread_mutex_trylock, mutex, retval,
+               __builtin_return_address(0));
        thread_in_trace = 0;
        return retval;
 }
@@ -100,7 +104,8 @@ int pthread_mutex_unlock(pthread_mutex_t *mutex)
 
        thread_in_trace = 1;
        retval = mutex_unlock(mutex);
-       tracepoint(ust_pthread, pthread_mutex_unlock, mutex, retval);
+       tracepoint(ust_pthread, pthread_mutex_unlock, mutex, retval,
+               __builtin_return_address(0));
        thread_in_trace = 0;
        return retval;
 }
index 7d35c3a0e745efb293cd0942326ec7b05d954e56..4248677344866aeb4dbfc560183191cc29a1384d 100644 (file)
@@ -33,14 +33,14 @@ extern "C" {
 #include <lttng/tracepoint.h>
 
 TRACEPOINT_EVENT(ust_pthread, pthread_mutex_lock_req,
-       TP_ARGS(pthread_mutex_t *, mutex),
+       TP_ARGS(pthread_mutex_t *, mutex, void *, ip),
        TP_FIELDS(
                ctf_integer_hex(void *, mutex, mutex)
        )
 )
 
 TRACEPOINT_EVENT(ust_pthread, pthread_mutex_lock_acq,
-       TP_ARGS(pthread_mutex_t *, mutex, int, status),
+       TP_ARGS(pthread_mutex_t *, mutex, int, status, void *, ip),
        TP_FIELDS(
                ctf_integer_hex(void *, mutex, mutex)
                ctf_integer(int, status, status)
@@ -48,7 +48,7 @@ TRACEPOINT_EVENT(ust_pthread, pthread_mutex_lock_acq,
 )
 
 TRACEPOINT_EVENT(ust_pthread, pthread_mutex_trylock,
-       TP_ARGS(pthread_mutex_t *, mutex, int, status),
+       TP_ARGS(pthread_mutex_t *, mutex, int, status, void *, ip),
        TP_FIELDS(
                ctf_integer_hex(void *, mutex, mutex)
                ctf_integer(int, status, status)
@@ -56,7 +56,7 @@ TRACEPOINT_EVENT(ust_pthread, pthread_mutex_trylock,
 )
 
 TRACEPOINT_EVENT(ust_pthread, pthread_mutex_unlock,
-       TP_ARGS(pthread_mutex_t *, mutex, int, status),
+       TP_ARGS(pthread_mutex_t *, mutex, int, status, void *, ip),
        TP_FIELDS(
                ctf_integer_hex(void *, mutex, mutex)
                ctf_integer(int, status, status)
This page took 0.028083 seconds and 4 git commands to generate.