import libtraceevent-1.5.3-3.el9
This commit is contained in:
parent
257a12f060
commit
cf6787edf8
|
@ -1 +1 @@
|
|||
SOURCES/libtraceevent-1.1.1.tar.gz
|
||||
SOURCES/libtraceevent-1.5.3.tar.gz
|
||||
|
|
|
@ -1 +1 @@
|
|||
07d940c014adcc4c15bb7333845b8e2c21328dc7 SOURCES/libtraceevent-1.1.1.tar.gz
|
||||
72d2ca781728169d9b17679b890f496d4c303040 SOURCES/libtraceevent-1.5.3.tar.gz
|
||||
|
|
|
@ -1,86 +0,0 @@
|
|||
From 62823da1bd46f24e2b498513a809011dfe16cd9b Mon Sep 17 00:00:00 2001
|
||||
From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
|
||||
Date: Tue, 8 Jun 2021 17:27:44 -0400
|
||||
Subject: [PATCH] libtraceevent: Handle parsing of "(REC)->" case
|
||||
|
||||
If a trace event wraps the special __entry variable to dereference it with
|
||||
parenthesis, it shows up in the trace event format file wrapping the
|
||||
"(REC)" as well. For example, the "func_repeats" event passed the __entry
|
||||
into a helper macro in the TP_printk() portion, and the macro correctly
|
||||
wrapped its parameter in parenthesis. This caused the output to show:
|
||||
|
||||
"(((u64)(REC)->top_delta_ts << 32) | (REC)->bottom_delta_ts)"
|
||||
|
||||
The parser then failed to parse the "(REC)->" portion, as it expected the
|
||||
"->" to appear directly after the "REC". This is not a requirement, and
|
||||
the parser should be able to handle such cases.
|
||||
|
||||
When this occurred, trace-cmd would error with the following message:
|
||||
|
||||
trace-cmd: No such file or directory
|
||||
Error: expected type 4 but read 5
|
||||
|
||||
Link: https://lore.kernel.org/linux-trace-devel/20210608172744.796e93b7@gandalf.local.home
|
||||
|
||||
Fixes: 6582b0a ("tools/events: Add files to create libtraceevent.a")
|
||||
Reported-by: Julia Lawall <julia.lawall@inria.fr>
|
||||
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
|
||||
---
|
||||
src/event-parse.c | 27 ++++++++++++++++++++++++---
|
||||
1 file changed, 24 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/event-parse.c b/src/event-parse.c
|
||||
index 97c1a97..1217491 100644
|
||||
--- a/src/event-parse.c
|
||||
+++ b/src/event-parse.c
|
||||
@@ -2311,8 +2311,19 @@ process_entry(struct tep_event *event __maybe_unused, struct tep_print_arg *arg,
|
||||
char *field;
|
||||
char *token;
|
||||
|
||||
- if (read_expected(TEP_EVENT_OP, "->") < 0)
|
||||
- goto out_err;
|
||||
+ type = read_token_item(&token);
|
||||
+ /*
|
||||
+ * Check if REC happens to be surrounded by parenthesis, and
|
||||
+ * return if that's the case, as "(REC)->" is valid.
|
||||
+ * but return TEP_EVENT_ITEM.
|
||||
+ */
|
||||
+ if (type == TEP_EVENT_DELIM && strcmp(token, ")") == 0) {
|
||||
+ *tok = token;
|
||||
+ return TEP_EVENT_ITEM;
|
||||
+ }
|
||||
+
|
||||
+ if (test_type_token(type, token, TEP_EVENT_OP, "->"))
|
||||
+ goto out_free;
|
||||
|
||||
if (read_expect_type(TEP_EVENT_ITEM, &token) < 0)
|
||||
goto out_free;
|
||||
@@ -2338,7 +2349,6 @@ process_entry(struct tep_event *event __maybe_unused, struct tep_print_arg *arg,
|
||||
|
||||
out_free:
|
||||
free_token(token);
|
||||
- out_err:
|
||||
*tok = NULL;
|
||||
return TEP_EVENT_ERROR;
|
||||
}
|
||||
@@ -3033,6 +3043,17 @@ process_paren(struct tep_event *event, struct tep_print_arg *arg, char **tok)
|
||||
if (type == TEP_EVENT_ERROR)
|
||||
goto out_free;
|
||||
|
||||
+ /*
|
||||
+ * If REC is surrounded by parenthesis, the process_arg()
|
||||
+ * will return TEP_EVENT_ITEM with token == ")". In
|
||||
+ * this case, we need to continue processing the item
|
||||
+ * and return.
|
||||
+ */
|
||||
+ if (type == TEP_EVENT_ITEM && strcmp(token, ")") == 0) {
|
||||
+ free_token(token);
|
||||
+ return process_entry(event, arg, tok);
|
||||
+ }
|
||||
+
|
||||
if (test_type_token(type, token, TEP_EVENT_DELIM, ")"))
|
||||
goto out_free;
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
|
@ -1,98 +0,0 @@
|
|||
From e9bd314141ee6b4556d9db854bccd34159661ffa Mon Sep 17 00:00:00 2001
|
||||
From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
|
||||
Date: Thu, 28 Jan 2021 16:31:35 -0500
|
||||
Subject: [PATCH] libtraceevent: Move plugin_dir define logic to top level
|
||||
Makefile
|
||||
|
||||
The installation location of the plugin directory needs to be passed into
|
||||
the C files via the -DPLUGIN_DIR=".." compiler option. But the logic for
|
||||
that was only in the plugin directory, such that the main library did not
|
||||
know where to find the plugins (as the PLUGIN_DIR macro was not set). This
|
||||
caused the library not to load the plugins for the application.
|
||||
|
||||
By moving the logic to the top level Makefile and exporting the variables,
|
||||
this fixes the issue.
|
||||
|
||||
Link: https://lore.kernel.org/linux-trace-devel/20210128163135.27ae85d5@gandalf.local.home
|
||||
|
||||
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
|
||||
---
|
||||
Makefile | 26 ++++++++++++++++++++++++++
|
||||
plugins/Makefile | 24 ------------------------
|
||||
2 files changed, 26 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index e4eba74..11bfe54 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -118,6 +118,32 @@ endif
|
||||
|
||||
LIBS = -ldl
|
||||
|
||||
+set_plugin_dir := 1
|
||||
+
|
||||
+# Set plugin_dir to preffered global plugin location
|
||||
+# If we install under $HOME directory we go under
|
||||
+# $(HOME)/.local/lib/traceevent/plugins
|
||||
+#
|
||||
+# We dont set PLUGIN_DIR in case we install under $HOME
|
||||
+# directory, because by default the code looks under:
|
||||
+# $(HOME)/.local/lib/traceevent/plugins by default.
|
||||
+#
|
||||
+ifeq ($(plugin_dir),)
|
||||
+ifeq ($(prefix),$(HOME))
|
||||
+override plugin_dir = $(HOME)/.local/lib/traceevent/plugins
|
||||
+set_plugin_dir := 0
|
||||
+else
|
||||
+override plugin_dir = $(libdir)/traceevent/plugins
|
||||
+endif
|
||||
+export plugin_dir
|
||||
+endif
|
||||
+
|
||||
+ifeq ($(set_plugin_dir),1)
|
||||
+PLUGIN_DIR = -DPLUGIN_DIR="$(plugin_dir)"
|
||||
+PLUGIN_DIR_SQ = '$(subst ','\'',$(PLUGIN_DIR))'
|
||||
+export PLUGIN_DIR PLUGIN_DIR_SQ
|
||||
+endif
|
||||
+
|
||||
# Append required CFLAGS
|
||||
override CFLAGS += -fPIC
|
||||
override CFLAGS += $(CONFIG_FLAGS) $(INCLUDES) $(PLUGIN_DIR_SQ)
|
||||
diff --git a/plugins/Makefile b/plugins/Makefile
|
||||
index e8b8850..b60352d 100644
|
||||
--- a/plugins/Makefile
|
||||
+++ b/plugins/Makefile
|
||||
@@ -41,30 +41,6 @@ libdir_relative ?= $(libdir_relative_tmp)
|
||||
prefix ?= /usr/local
|
||||
libdir = $(prefix)/$(libdir_relative)
|
||||
|
||||
-set_plugin_dir := 1
|
||||
-
|
||||
-# Set plugin_dir to preffered global plugin location
|
||||
-# If we install under $HOME directory we go under
|
||||
-# $(HOME)/.local/lib/traceevent/plugins
|
||||
-#
|
||||
-# We dont set PLUGIN_DIR in case we install under $HOME
|
||||
-# directory, because by default the code looks under:
|
||||
-# $(HOME)/.local/lib/traceevent/plugins by default.
|
||||
-#
|
||||
-ifeq ($(plugin_dir),)
|
||||
-ifeq ($(prefix),$(HOME))
|
||||
-override plugin_dir = $(HOME)/.local/lib/traceevent/plugins
|
||||
-set_plugin_dir := 0
|
||||
-else
|
||||
-override plugin_dir = $(libdir)/traceevent/plugins
|
||||
-endif
|
||||
-endif
|
||||
-
|
||||
-ifeq ($(set_plugin_dir),1)
|
||||
-PLUGIN_DIR = -DPLUGIN_DIR="$(plugin_dir)"
|
||||
-PLUGIN_DIR_SQ = '$(subst ','\'',$(PLUGIN_DIR))'
|
||||
-endif
|
||||
-
|
||||
include ../scripts/Makefile.include
|
||||
|
||||
# copy a bit from Linux kbuild
|
||||
--
|
||||
2.31.1
|
||||
|
|
@ -4,8 +4,8 @@
|
|||
#%%global shortcommit %%(c=%%{commit}; echo ${c:0:7})
|
||||
|
||||
Name: libtraceevent
|
||||
Version: 1.1.1
|
||||
Release: 8%{?dist}
|
||||
Version: 1.5.3
|
||||
Release: 3%{?dist}
|
||||
License: LGPLv2+ and GPLv2+
|
||||
Summary: Library to parse raw trace event formats
|
||||
|
||||
|
@ -16,8 +16,6 @@ URL: https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/
|
|||
# git archive --prefix=libtraceevent-%%{version}/ -o libtraceevent-%%{version}.tar.gz %%{git_commit}
|
||||
#Source0: libtraceevent-%%{version}.tar.gz
|
||||
Source0: https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/snapshot/libtraceevent-%{version}.tar.gz
|
||||
Patch0: libtraceevent-Handle-parsing-of-REC-case.patch
|
||||
Patch1: libtraceevent-Move-plugin_dir-define-logic-to-top-le.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: xmlto
|
||||
|
@ -45,7 +43,7 @@ MANPAGE_DOCBOOK_XSL=`rpm -ql docbook-style-xsl | grep manpages/docbook.xsl`
|
|||
#looks like CFLAGS is ignored when compiling plugins, but not EXTRA_CFLAGS
|
||||
export EXTRA_CFLAGS="%{optflags}"
|
||||
export LDFLAGS="-Wl,-z,now"
|
||||
%make_build prefix=%{_prefix} libdir=%{_libdir} MANPAGE_XSL=%{MANPAGE_DOCBOOK_XSL} all doc
|
||||
make -O -j1 V=1 VERBOSE=1 prefix=%{_prefix} libdir=%{_libdir} MANPAGE_XSL=%{MANPAGE_DOCBOOK_XSL} all doc
|
||||
|
||||
%install
|
||||
%set_build_flags
|
||||
|
@ -72,6 +70,18 @@ rm -rf %{buildroot}/%{_libdir}/libtraceevent.a
|
|||
%{_libdir}/pkgconfig/libtraceevent.pc
|
||||
|
||||
%changelog
|
||||
* Wed Oct 19 2022 Michael Petlan <mpetlan@redhat.com> - 1.5.3-3
|
||||
- Rebuild due to broken brew build again, disable parallel build
|
||||
Related: rhbz#2134397
|
||||
|
||||
* Fri Oct 14 2022 Michael Petlan <mpetlan@redhat.com> - 1.5.3-2
|
||||
- Rebuild due to broken brew environment
|
||||
Related: rhbz#2134397
|
||||
|
||||
* Tue Aug 30 2022 Michael Petlan <mpetlan@redhat.com> - 1.5.3-1
|
||||
- Rebase to v1.5.3
|
||||
Related: rhbz#2075213
|
||||
|
||||
* Fri Jan 14 2022 Michael Petlan <mpetlan@redhat.com> - 1.1.1-8
|
||||
- Harden linking to meet annocheck requirements
|
||||
Related: rhbz#2037125
|
||||
|
|
Loading…
Reference in New Issue