!15 Update to 2.13.5
From: @WizardHowl Reviewed-by: @liqingqing_1229 Signed-off-by: @liqingqing_1229
This commit is contained in:
commit
b1bb2305c0
@ -1,156 +0,0 @@
|
||||
From d6ddec3f8a747381dfb2af999731b83379713960 Mon Sep 17 00:00:00 2001
|
||||
From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
|
||||
Date: Wed, 28 Nov 2018 16:56:59 -0500
|
||||
Subject: [PATCH] Adapt lttng-ust to use multiflavor symbols from liburcu 0.11
|
||||
|
||||
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
|
||||
|
||||
---
|
||||
configure.ac | 6 +++---
|
||||
include/lttng/tracepoint-rcu.h | 6 +++---
|
||||
liblttng-ust/lttng-ust-comm.c | 5 +++--
|
||||
liblttng-ust/tracepoint-internal.h | 2 +-
|
||||
liblttng-ust/tracepoint.c | 14 +++++++-------
|
||||
5 files changed, 17 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index f90c5ba..c2280dc 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -246,10 +246,10 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
|
||||
])
|
||||
|
||||
# urcu - check that URCU lib is available to compilation
|
||||
-AC_CHECK_LIB([urcu-bp], [synchronize_rcu_bp], [], [AC_MSG_ERROR([Cannot find liburcu-bp lib. Use [LDFLAGS]=-Ldir to specify its location.])])
|
||||
+AC_CHECK_LIB([urcu-bp], [urcu_bp_synchronize_rcu], [], [AC_MSG_ERROR([Cannot find liburcu-bp 0.11 or newer. Use [LDFLAGS]=-Ldir to specify its location.])])
|
||||
|
||||
-# urcu - check that URCU lib is at least version 0.6
|
||||
-AC_CHECK_LIB([urcu-bp], [call_rcu_bp], [], [AC_MSG_ERROR([liburcu 0.6 or newer is needed, please update your version or use [LDFLAGS]=-Ldir to specify the right location.])])
|
||||
+# urcu - check that URCU lib is at least version 0.11
|
||||
+AC_CHECK_LIB([urcu-bp], [urcu_bp_call_rcu], [], [AC_MSG_ERROR([liburcu 0.11 or newer is needed, please update your version or use [LDFLAGS]=-Ldir to specify the right location.])])
|
||||
|
||||
# optional linux/perf_event.h
|
||||
AC_CHECK_HEADERS([linux/perf_event.h], [have_perf_event=yes], [])
|
||||
diff --git a/include/lttng/tracepoint-rcu.h b/include/lttng/tracepoint-rcu.h
|
||||
index 0e08485..95d6049 100644
|
||||
--- a/include/lttng/tracepoint-rcu.h
|
||||
+++ b/include/lttng/tracepoint-rcu.h
|
||||
@@ -27,10 +27,10 @@
|
||||
|
||||
#ifdef _LGPL_SOURCE
|
||||
|
||||
-#include <urcu-bp.h>
|
||||
+#include <urcu/urcu-bp.h>
|
||||
|
||||
-#define tp_rcu_read_lock_bp rcu_read_lock_bp
|
||||
-#define tp_rcu_read_unlock_bp rcu_read_unlock_bp
|
||||
+#define tp_rcu_read_lock_bp urcu_bp_read_lock
|
||||
+#define tp_rcu_read_unlock_bp urcu_bp_read_unlock
|
||||
#define tp_rcu_dereference_bp rcu_dereference
|
||||
#define TP_RCU_LINK_TEST() 1
|
||||
|
||||
diff --git a/liblttng-ust/lttng-ust-comm.c b/liblttng-ust/lttng-ust-comm.c
|
||||
index 511b9cf..b8b3314 100644
|
||||
--- a/liblttng-ust/lttng-ust-comm.c
|
||||
+++ b/liblttng-ust/lttng-ust-comm.c
|
||||
@@ -1908,6 +1908,7 @@ void ust_before_fork(sigset_t *save_sigset)
|
||||
|
||||
ust_lock_nocheck();
|
||||
rcu_bp_before_fork();
|
||||
+ urcu_bp_before_fork();
|
||||
}
|
||||
|
||||
static void ust_after_fork_common(sigset_t *restore_sigset)
|
||||
@@ -1931,7 +1932,7 @@ void ust_after_fork_parent(sigset_t *restore_sigset)
|
||||
if (URCU_TLS(lttng_ust_nest_count))
|
||||
return;
|
||||
DBG("process %d", getpid());
|
||||
- rcu_bp_after_fork_parent();
|
||||
+ urcu_bp_after_fork_parent();
|
||||
/* Release mutexes and reenable signals */
|
||||
ust_after_fork_common(restore_sigset);
|
||||
}
|
||||
@@ -1952,7 +1953,7 @@ void ust_after_fork_child(sigset_t *restore_sigset)
|
||||
lttng_context_vtid_reset();
|
||||
DBG("process %d", getpid());
|
||||
/* Release urcu mutexes */
|
||||
- rcu_bp_after_fork_child();
|
||||
+ urcu_bp_after_fork_child();
|
||||
lttng_ust_cleanup(0);
|
||||
/* Release mutexes and reenable signals */
|
||||
ust_after_fork_common(restore_sigset);
|
||||
diff --git a/liblttng-ust/tracepoint-internal.h b/liblttng-ust/tracepoint-internal.h
|
||||
index 298f78e..1e6f92b 100644
|
||||
--- a/liblttng-ust/tracepoint-internal.h
|
||||
+++ b/liblttng-ust/tracepoint-internal.h
|
||||
@@ -50,7 +50,7 @@ extern void __tracepoint_probe_prune_release_queue(void);
|
||||
*/
|
||||
static inline void tracepoint_synchronize_unregister(void)
|
||||
{
|
||||
- synchronize_rcu_bp();
|
||||
+ urcu_bp_synchronize_rcu();
|
||||
}
|
||||
|
||||
extern void init_tracepoint(void);
|
||||
diff --git a/liblttng-ust/tracepoint.c b/liblttng-ust/tracepoint.c
|
||||
index 14b8231..1c27e40 100644
|
||||
--- a/liblttng-ust/tracepoint.c
|
||||
+++ b/liblttng-ust/tracepoint.c
|
||||
@@ -26,7 +26,7 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include <urcu/arch.h>
|
||||
-#include <urcu-bp.h>
|
||||
+#include <urcu/urcu-bp.h>
|
||||
#include <urcu/hlist.h>
|
||||
#include <urcu/uatomic.h>
|
||||
#include <urcu/compiler.h>
|
||||
@@ -149,7 +149,7 @@ static void release_probes(void *old)
|
||||
if (old) {
|
||||
struct tp_probes *tp_probes = caa_container_of(old,
|
||||
struct tp_probes, probes[0]);
|
||||
- synchronize_rcu();
|
||||
+ urcu_bp_synchronize_rcu();
|
||||
free(tp_probes);
|
||||
}
|
||||
}
|
||||
@@ -709,7 +709,7 @@ void __tracepoint_probe_prune_release_queue(void)
|
||||
release_queue_need_update = 0;
|
||||
|
||||
/* Wait for grace period between all sync_callsites and free. */
|
||||
- synchronize_rcu();
|
||||
+ urcu_bp_synchronize_rcu();
|
||||
|
||||
cds_list_for_each_entry_safe(pos, next, &release_probes, u.list) {
|
||||
cds_list_del(&pos->u.list);
|
||||
@@ -800,7 +800,7 @@ void tracepoint_probe_update_all(void)
|
||||
|
||||
tracepoint_update_probes();
|
||||
/* Wait for grace period between update_probes and free. */
|
||||
- synchronize_rcu();
|
||||
+ urcu_bp_synchronize_rcu();
|
||||
cds_list_for_each_entry_safe(pos, next, &release_probes, u.list) {
|
||||
cds_list_del(&pos->u.list);
|
||||
free(pos);
|
||||
@@ -946,15 +946,15 @@ void exit_tracepoint(void)
|
||||
|
||||
void tp_rcu_read_lock_bp(void)
|
||||
{
|
||||
- rcu_read_lock_bp();
|
||||
+ urcu_bp_read_lock();
|
||||
}
|
||||
|
||||
void tp_rcu_read_unlock_bp(void)
|
||||
{
|
||||
- rcu_read_unlock_bp();
|
||||
+ urcu_bp_read_unlock();
|
||||
}
|
||||
|
||||
void *tp_rcu_dereference_sym_bp(void *p)
|
||||
{
|
||||
- return rcu_dereference_bp(p);
|
||||
+ return urcu_bp_dereference(p);
|
||||
}
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@ -1,89 +0,0 @@
|
||||
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,44 +0,0 @@
|
||||
From 21a934df4c683e73e0a66a9afca33573fcf9d789 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Jeanson <mjeanson@efficios.com>
|
||||
Date: Thu, 16 Jan 2020 10:59:14 -0500
|
||||
Subject: [PATCH] Fix: build with -fno-common
|
||||
|
||||
GCC 10 will default to building with -fno-common, this inhibits the
|
||||
linker from merging multiple tentative definitions of a symbol in an
|
||||
archive. Keep only the declaration in the libustsnprintf.la convenience
|
||||
library.
|
||||
|
||||
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
|
||||
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
|
||||
Change-Id: I8fb7c72811ce7e62f10342f55fcabeeabfdd4c67
|
||||
---
|
||||
liblttng-ust-ctl/ustctl.c | 2 --
|
||||
liblttng-ust-fd/lttng-ust-fd.c | 2 --
|
||||
2 files changed, 4 deletions(-)
|
||||
|
||||
diff --git a/liblttng-ust-ctl/ustctl.c b/liblttng-ust-ctl/ustctl.c
|
||||
index 949ece17a..c2b761a1b 100644
|
||||
--- a/liblttng-ust-ctl/ustctl.c
|
||||
+++ b/liblttng-ust-ctl/ustctl.c
|
||||
@@ -77,8 +77,6 @@ extern void lttng_ring_buffer_client_discard_exit(void);
|
||||
extern void lttng_ring_buffer_client_discard_rt_exit(void);
|
||||
extern void lttng_ring_buffer_metadata_client_exit(void);
|
||||
|
||||
-volatile enum ust_loglevel ust_loglevel;
|
||||
-
|
||||
int ustctl_release_handle(int sock, int handle)
|
||||
{
|
||||
struct ustcomm_ust_msg lum;
|
||||
diff --git a/liblttng-ust-fd/lttng-ust-fd.c b/liblttng-ust-fd/lttng-ust-fd.c
|
||||
index 863f0618a..4818e02ed 100644
|
||||
--- a/liblttng-ust-fd/lttng-ust-fd.c
|
||||
+++ b/liblttng-ust-fd/lttng-ust-fd.c
|
||||
@@ -28,8 +28,6 @@
|
||||
#include <helper.h>
|
||||
#include "usterr-signal-safe.h"
|
||||
|
||||
-volatile enum ust_loglevel ust_loglevel;
|
||||
-
|
||||
static int (*__lttng_ust_fd_plibc_close)(int fd);
|
||||
static int (*__lttng_ust_fd_plibc_fclose)(FILE *stream);
|
||||
|
||||
@ -1,21 +0,0 @@
|
||||
From 20e138a4e4bab0b06a99662637e808a027cd3d2e Mon Sep 17 00:00:00 2001
|
||||
From: Michael Jeanson <mjeanson@efficios.com>
|
||||
Date: Mon, 2 Nov 2020 15:27:21 +0800
|
||||
Subject: [PATCH] fix lttng-gen-tp
|
||||
|
||||
https://src.fedoraproject.org/rpms/lttng-ust/blob/20e138a4e4bab0b06a99662637e808a027cd3d2e/f/lttng-gen-tp-shebang.patch
|
||||
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
|
||||
---
|
||||
tools/lttng-gen-tp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tools/lttng-gen-tp b/tools/lttng-gen-tp
|
||||
index 6aa1bba..fd6c8ba 100755
|
||||
--- a/tools/lttng-gen-tp
|
||||
+++ b/tools/lttng-gen-tp
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env python
|
||||
+#!/usr/bin/python3
|
||||
#
|
||||
# Copyright (c) 2012 Yannick Brosseau <yannick.brosseau@gmail.com>
|
||||
#
|
||||
Binary file not shown.
BIN
lttng-ust-2.13.5.tar.bz2
Normal file
BIN
lttng-ust-2.13.5.tar.bz2
Normal file
Binary file not shown.
@ -1,18 +1,18 @@
|
||||
Name: lttng-ust
|
||||
Version: 2.10.1
|
||||
Release: 11
|
||||
Version: 2.13.5
|
||||
Release: 1
|
||||
Summary: LTTng Userspace Tracer library
|
||||
License: LGPLv2 and GPLv2 and MIT
|
||||
URL: https://lttng.org
|
||||
|
||||
Source0: https://lttng.org/files/lttng-ust/%{name}-%{version}.tar.bz2
|
||||
Patch0: Fix-namespace-our-gettid-wrapper.patch
|
||||
Patch1: lttng-gen-tp-shebang.patch
|
||||
Patch2: fix-build-with-fno-common.patch
|
||||
Patch3: 0001-Adapt-lttng-ust-to-use-multiflavor-symbols-form-liburcu-0.11.patch
|
||||
|
||||
BuildRequires: libuuid-devel autoconf automake libtool
|
||||
BuildRequires: userspace-rcu-devel >= 0.8.0
|
||||
BuildRequires: numactl-devel
|
||||
BuildRequires: asciidoc
|
||||
BuildRequires: xmlto
|
||||
|
||||
|
||||
%description
|
||||
This library is used by user-space applications to generate trace-points using LTTng.
|
||||
@ -62,6 +62,9 @@ make check
|
||||
%{_docdir}/%{name}/*
|
||||
|
||||
%changelog
|
||||
* Mon Jan 30 2023 Wenyu Liu <liuwenyu7@huawei.com> - 2.13.5-1
|
||||
- Update to 2.13.5
|
||||
|
||||
* Mon Dec 20 2021 zhouwenpei <zhouwenpei1@huawei.com> - 2.10.1-11
|
||||
- fix build error
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user