[lttng-dev] [PATCH lttng-ust] Fix: namespace our gettid wrapper

Michael Jeanson mjeanson at efficios.com
Mon Jun 3 15:25:32 EDT 2019


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 <mjeanson at efficios.com>
---
 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 <syscall.h>
 #endif
 
-#if defined(_syscall0)
-_syscall0(pid_t, gettid)
-#elif defined(__NR_gettid)
+#if defined(__NR_gettid)
+
 #include <unistd.h>
-static inline pid_t gettid(void)
+static inline pid_t lttng_gettid(void)
 {
 	return syscall(__NR_gettid);
 }
+
 #else
+
 #include <sys/types.h>
 #include <unistd.h>
 
 /* 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.17.1



More information about the lttng-dev mailing list