From f3c48a5cdad8ce0de9f5beef4a69dbe1685c8cd0 Mon Sep 17 00:00:00 2001 From: Michel Lind Date: Aug 30 2023 14:42:59 +0000 Subject: Linux v6.4.4 Signed-off-by: Justin M. Forbes Signed-off-by: Michel Lind --- diff --git a/kernel-tools-c99.patch b/kernel-tools-c99.patch new file mode 100644 index 0000000..6295b27 --- /dev/null +++ b/kernel-tools-c99.patch @@ -0,0 +1,121 @@ +From: Florian Weimer +Subject: [PATCH v4] perf: Avoid implicit function declarations in + lexer/parse interface +To: linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org +Cc: Peter Zijlstra , + Ingo Molnar , + Arnaldo Carvalho de Melo , + Mark Rutland , + Alexander Shishkin , + Jiri Olsa , + Namhyung Kim , + Ian Rogers , + Adrian Hunter , + Ian Rogers , + Justin M. Forbes +Date: Wed, 03 May 2023 20:06:09 +0200 (25 minutes, 29 seconds ago) +Message-ID: <874jot47e6.fsf@oldenburg.str.redhat.com> + +In future compilers, -Wno-implicit-function-declaration may not bring +back support for implicit function declarations, a feature that was +removed from the C language in C99. Instead of relying on implicit +declarations, include the flex-generated header from the +bison-generated C code. + +The expr-flex.h and pmu-flex.h headers needs to be included very late, +so that the definition of YYSTYPE is available at that point. + +Signed-off-by: Florian Weimer + +--- +v4: Rebase on top of perf-next and integrate with bpf-filter.y as well. + Even later inclusion of "pmu-flex.h". +v3: Fix commit message typo. Try to repost via different mail server. +v2: Include the flex-generated files instead of manually-written prototypes. + tools/perf/util/Build | 11 ++++++++++- + tools/perf/util/bpf-filter.y | 1 + + tools/perf/util/expr.y | 2 ++ + tools/perf/util/parse-events.y | 1 + + tools/perf/util/pmu.y | 4 ++++ + 5 files changed, 18 insertions(+), 1 deletion(-) + +diff --git a/tools/perf/util/Build b/tools/perf/util/Build +index bd18fe5f2719..865ce4f66756 100644 +--- a/tools/perf/util/Build ++++ b/tools/perf/util/Build +@@ -298,7 +298,7 @@ CFLAGS_bpf-filter-flex.o += $(flex_flags) + bison_flags := -DYYENABLE_NLS=0 + BISON_GE_35 := $(shell expr $(shell $(BISON) --version | grep bison | sed -e 's/.\+ \([0-9]\+\).\([0-9]\+\)/\1\2/g') \>\= 35) + ifeq ($(BISON_GE_35),1) +- bison_flags += -Wno-unused-parameter -Wno-nested-externs -Wno-implicit-function-declaration -Wno-switch-enum -Wno-unused-but-set-variable -Wno-unknown-warning-option ++ bison_flags += -Wno-unused-parameter -Wno-nested-externs -Wno-switch-enum -Wno-unused-but-set-variable -Wno-unknown-warning-option + else + bison_flags += -w + endif +@@ -357,3 +357,12 @@ $(OUTPUT)util/vsprintf.o: ../lib/vsprintf.c FORCE + $(OUTPUT)util/list_sort.o: ../lib/list_sort.c FORCE + $(call rule_mkdir) + $(call if_changed_dep,cc_o_c) ++ ++# These dependencies ensure that the flex-generated .h file is ++# available at the time the bison-generated .c sources are compiled. ++# Do not depend on the generated .h file to prevent triggering ++# parallel flex invocations for the same two output files. ++$(OUTPUT)util/bpf-filter-bison.o : $(OUTPUT)util/bpf-filter-flex.c ++$(OUTPUT)util/expr-bison.o : $(OUTPUT)util/expr-flex.c ++$(OUTPUT)util/parse-events-bison.o : $(OUTPUT)util/parse-events-flex.c ++$(OUTPUT)util/pmu-bison.o : $(OUTPUT)util/pmu-flex.c +diff --git a/tools/perf/util/bpf-filter.y b/tools/perf/util/bpf-filter.y +index 07d6c7926c13..935afafe22eb 100644 +--- a/tools/perf/util/bpf-filter.y ++++ b/tools/perf/util/bpf-filter.y +@@ -8,6 +8,7 @@ + #include + #include + #include "bpf-filter.h" ++#include "bpf-filter-flex.h" + + static void perf_bpf_filter_error(struct list_head *expr __maybe_unused, + char const *msg) +diff --git a/tools/perf/util/expr.y b/tools/perf/util/expr.y +index 250e444bf032..8879fa14960f 100644 +--- a/tools/perf/util/expr.y ++++ b/tools/perf/util/expr.y +@@ -53,6 +53,8 @@ + %destructor { ids__free($$.ids); } + + %{ ++#include "expr-flex.h" ++ + static void expr_error(double *final_val __maybe_unused, + struct expr_parse_ctx *ctx __maybe_unused, + bool compute_ids __maybe_unused, +diff --git a/tools/perf/util/parse-events.y b/tools/perf/util/parse-events.y +index 4488443e506e..401d33714b23 100644 +--- a/tools/perf/util/parse-events.y ++++ b/tools/perf/util/parse-events.y +@@ -17,6 +17,7 @@ + #include "evsel.h" + #include "parse-events.h" + #include "parse-events-bison.h" ++#include "parse-events-flex.h" + + void parse_events_error(YYLTYPE *loc, void *parse_state, void *scanner, char const *msg); + +diff --git a/tools/perf/util/pmu.y b/tools/perf/util/pmu.y +index dff4e892ac4d..9c67f3d05a80 100644 +--- a/tools/perf/util/pmu.y ++++ b/tools/perf/util/pmu.y +@@ -32,6 +32,10 @@ do { \ + DECLARE_BITMAP(bits, PERF_PMU_FORMAT_BITS); + } + ++%{ ++#include "pmu-flex.h" ++%} ++ + %% + + format: + +base-commit: 5d27a645f60940fdf589e4ff5351506a7f0fdbaa diff --git a/kernel-tools.spec b/kernel-tools.spec index e141d15..83404aa 100644 --- a/kernel-tools.spec +++ b/kernel-tools.spec @@ -25,7 +25,7 @@ # base_sublevel is the kernel version we're starting with and patching # on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base, # which yields a base_sublevel of 0. -%global base_sublevel 3 +%global base_sublevel 4 %global base_major 6 @@ -33,7 +33,7 @@ %if 0%{?released_kernel} # Do we have a -stable update to apply? -%global stable_update 3 +%global stable_update 4 # Set rpm version accordingly %if 0%{?stable_update} %global stablerev %{stable_update} @@ -57,7 +57,7 @@ # pkg_release is what we'll fill in for the rpm Release: field %if 0%{?released_kernel} -%global pkg_release %{fedora_build}%{?buildid}.3%{?dist} +%global pkg_release %{fedora_build}%{?buildid}%{?dist} %else @@ -99,8 +99,6 @@ BuildRequires: perl(Carp) BuildRequires: perl(ExtUtils::Embed) %endif BuildRequires: clang llvm -# Used to mangle unversioned shebangs to be Python 3 -BuildRequires: /usr/bin/pathfix.py %ifnarch s390x %{arm} BuildRequires: numactl-devel %endif @@ -137,7 +135,7 @@ Source5000: patch-%{upstream_major}.%{upstream_sublevel}-rc%{rcrev}.xz %endif %endif -# Patch1: +Patch1: kernel-tools-c99.patch Name: kernel-tools Summary: Assortment of tools for the Linux kernel @@ -255,15 +253,11 @@ cd linux-%{kversion} xzcat %{SOURCE5000} | patch -p1 -F1 -s %endif -# %patch1 -p1 +%patch1 -p1 # END OF PATCH APPLICATIONS -# Mangle /usr/bin/python shebangs to /usr/bin/python3 -# -p preserves timestamps -# -n prevents creating ~backup files -# -i specifies the interpreter for the shebang -pathfix.py -pni "%{__python3} %{py3_shbang_opts}" tools/ tools/perf/scripts/python/*.py scripts/clang-tools +%py3_shebang_fix tools/ tools/perf/scripts/python/*.py scripts/clang-tools ### ### build @@ -635,6 +629,9 @@ popd %{_mandir}/man1/rv.1.gz %changelog +* Wed Jul 19 2023 Justin M. Forbes - 6.4.4-200 +- Linux v6.4.4 + * Fri Jul 07 2023 Michel Alexandre Salim - 6.3.3-200.3 - Reenable Perl support for hs builds, only disable on hs+fb diff --git a/sources b/sources index 6f6543b..f9c3773 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (linux-6.3.tar.xz) = 768979440f4907ba64d4481b383d6101faf208f27a0b897156123aa278c5743fe3c4f61945b2541429c532d45382aaee8899ea9d44a1d2895bfbb79bfd937f65 -SHA512 (patch-6.3.3.xz) = 0f5aeb2a0adb99faec961d93d421f67582f23459d2591c07a0152c042d8c87a2d2061ea4dc6a6be8a25da07b70a6bc2f83479f36cb14636c8dbf6b9fb9827e31 +SHA512 (linux-6.4.tar.xz) = 11a48b25e0b513782d3b89101c2ec8dd9cefd6ce08dc63a91137903b66392aa72ca1fe32816710673af84dd47de3ab8738056a6af93dc0d5e60ef4b869b49928 +SHA512 (patch-6.4.4.xz) = ff17b28aca777e4468aef9d278871f921a6d9c6d2ccbf1efbc85acc5bb002e3450cd1de7c50fa49c99531cfd8a29b5a504c2db22db05b956cfe7c085ba2e46aa