From: Mathieu Desnoyers Date: Wed, 10 Jun 2015 11:15:28 +0000 (+0200) Subject: Fix: pthread wrapper ip context X-Git-Tag: v2.6.2~4 X-Git-Url: http://git.liburcu.org/?p=lttng-ust.git;a=commitdiff_plain;h=a5be8e90fcf5f76a9ba0d5d06f131e5420266e0c Fix: pthread wrapper ip context Signed-off-by: Mathieu Desnoyers --- diff --git a/liblttng-ust-libc-wrapper/lttng-ust-pthread.c b/liblttng-ust-libc-wrapper/lttng-ust-pthread.c index 45789aa3..0fb74ed8 100644 --- a/liblttng-ust-libc-wrapper/lttng-ust-pthread.c +++ b/liblttng-ust-libc-wrapper/lttng-ust-pthread.c @@ -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; } diff --git a/liblttng-ust-libc-wrapper/ust_pthread.h b/liblttng-ust-libc-wrapper/ust_pthread.h index 7d35c3a0..42486773 100644 --- a/liblttng-ust-libc-wrapper/ust_pthread.h +++ b/liblttng-ust-libc-wrapper/ust_pthread.h @@ -33,14 +33,14 @@ extern "C" { #include 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)