From 0f029713c868ef3e868d0dc7297455cb737e606f Mon Sep 17 00:00:00 2001 From: Michael Jeanson Date: Mon, 3 Jun 2019 15:25:32 -0400 Subject: [PATCH] Fix: namespace our gettid wrapper Since glibc 2.30, a gettid wrapper was added that conflicts with our static declaration. Namespace our wrapper so there is no conflict, we'll add support for the glibc provided wrapper in a further commit. Signed-off-by: Michael Jeanson Signed-off-by: Mathieu Desnoyers --- include/lttng/ust-tid.h | 12 +++++++----- include/usterr-signal-safe.h | 2 +- liblttng-ust/lttng-context-vtid.c | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/include/lttng/ust-tid.h b/include/lttng/ust-tid.h index e669d7e7..e637718a 100644 --- a/include/lttng/ust-tid.h +++ b/include/lttng/ust-tid.h @@ -31,23 +31,25 @@ #include #endif -#if defined(_syscall0) -_syscall0(pid_t, gettid) -#elif defined(__NR_gettid) +#if defined(__NR_gettid) + #include -static inline pid_t gettid(void) +static inline pid_t lttng_gettid(void) { return syscall(__NR_gettid); } + #else + #include #include /* Fall-back on getpid for tid if not available. */ -static inline pid_t gettid(void) +static inline pid_t lttng_gettid(void) { return getpid(); } + #endif #endif /* _LTTNG_UST_TID_H */ diff --git a/include/usterr-signal-safe.h b/include/usterr-signal-safe.h index 1df5ada0..d987c1f0 100644 --- a/include/usterr-signal-safe.h +++ b/include/usterr-signal-safe.h @@ -95,7 +95,7 @@ do { \ do { \ sigsafe_print_err(UST_STR_COMPONENT "[%ld/%ld]: " fmt " (in %s() at " __FILE__ ":" UST_XSTR(__LINE__) ")\n", \ (long) getpid(), \ - (long) gettid(), \ + (long) lttng_gettid(), \ ## args, __func__); \ } while(0) diff --git a/liblttng-ust/lttng-context-vtid.c b/liblttng-ust/lttng-context-vtid.c index 80661f63..36e5695d 100644 --- a/liblttng-ust/lttng-context-vtid.c +++ b/liblttng-ust/lttng-context-vtid.c @@ -63,7 +63,7 @@ pid_t wrapper_getvtid(void) vtid = CMM_LOAD_SHARED(URCU_TLS(cached_vtid)); if (caa_unlikely(!vtid)) { - vtid = gettid(); + vtid = lttng_gettid(); CMM_STORE_SHARED(URCU_TLS(cached_vtid), vtid); } return vtid; -- 2.34.1