From: Michael Jeanson Date: Mon, 3 Jun 2019 19:25:32 +0000 (-0400) Subject: Fix: namespace our gettid wrapper X-Git-Tag: v2.10.5~8 X-Git-Url: http://git.lttng.org/?p=lttng-ust.git;a=commitdiff_plain;h=3e2aaf78e6f8d57c7dbc42e39764862ba8c64bd7 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 --- 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 f28e470a..2f721fa0 100644 --- a/liblttng-ust/lttng-context-vtid.c +++ b/liblttng-ust/lttng-context-vtid.c @@ -62,7 +62,7 @@ void vtid_record(struct lttng_ctx_field *field, struct lttng_channel *chan) { if (caa_unlikely(!URCU_TLS(cached_vtid))) - URCU_TLS(cached_vtid) = gettid(); + URCU_TLS(cached_vtid) = lttng_gettid(); lib_ring_buffer_align_ctx(ctx, lttng_alignof(URCU_TLS(cached_vtid))); chan->ops->event_write(ctx, &URCU_TLS(cached_vtid), sizeof(URCU_TLS(cached_vtid))); @@ -73,7 +73,7 @@ void vtid_get_value(struct lttng_ctx_field *field, struct lttng_ctx_value *value) { if (caa_unlikely(!URCU_TLS(cached_vtid))) - URCU_TLS(cached_vtid) = gettid(); + URCU_TLS(cached_vtid) = lttng_gettid(); value->u.s64 = URCU_TLS(cached_vtid); }