Add patch to build on glibc >= 2.30
This commit is contained in:
parent
51603e77f7
commit
3f2fdc4ea8
89
Fix-namespace-our-gettid-wrapper.patch
Normal file
89
Fix-namespace-our-gettid-wrapper.patch
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
From 717dc80e36ed544d70a4ff445b3cac9735c0b360 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Jeanson <mjeanson@efficios.com>
|
||||||
|
Date: Mon, 3 Jun 2019 11:07:25 -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 <mjeanson@efficios.com>
|
||||||
|
---
|
||||||
|
include/lttng/ust-tid.h | 12 +++++++-----
|
||||||
|
include/usterr-signal-safe.h | 2 +-
|
||||||
|
liblttng-ust/lttng-context-vtid.c | 4 ++--
|
||||||
|
3 files changed, 10 insertions(+), 8 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 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);
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.22.0.rc2
|
||||||
|
|
||||||
@ -1,11 +1,12 @@
|
|||||||
Name: lttng-ust
|
Name: lttng-ust
|
||||||
Version: 2.10.1
|
Version: 2.10.1
|
||||||
Release: 6
|
Release: 7
|
||||||
Summary: LTTng Userspace Tracer library
|
Summary: LTTng Userspace Tracer library
|
||||||
License: LGPLv2 and GPLv2 and MIT
|
License: LGPLv2 and GPLv2 and MIT
|
||||||
URL: https://lttng.org
|
URL: https://lttng.org
|
||||||
|
|
||||||
Source0: https://lttng.org/files/lttng-ust/%{name}-%{version}.tar.bz2
|
Source0: https://lttng.org/files/lttng-ust/%{name}-%{version}.tar.bz2
|
||||||
|
Patch0: Fix-namespace-our-gettid-wrapper.patch
|
||||||
|
|
||||||
BuildRequires: python2 libuuid-devel texinfo autoconf automake libtool
|
BuildRequires: python2 libuuid-devel texinfo autoconf automake libtool
|
||||||
BuildRequires: userspace-rcu-devel >= 0.8.0
|
BuildRequires: userspace-rcu-devel >= 0.8.0
|
||||||
@ -58,6 +59,9 @@ make check
|
|||||||
%{_docdir}/%{name}/*
|
%{_docdir}/%{name}/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jul 30 2020 jinzhimin<jinzhimin2@huawei.com> - 2.10.1-7
|
||||||
|
- Add patch to build on glibc >= 2.30
|
||||||
|
|
||||||
* Fri Feb 14 2020 liuchao <liuchao173@huawei.com> - 2.10.1-6
|
* Fri Feb 14 2020 liuchao <liuchao173@huawei.com> - 2.10.1-6
|
||||||
- enable make check
|
- enable make check
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user