diff --git a/patches/mainline/series b/patches/mainline/series index 58f6fc1b..6f68e00b 100644 --- a/patches/mainline/series +++ b/patches/mainline/series @@ -1,2 +1 @@ 20241018_arnd_media_mediatek_vcodec_mark_vdec_vp9_slice_map_counts_eob_coef_noinline.patch -v2_20241121_nathan_hexagon_disable_constant_extender_optimization_for_llvm_prior_to_19_1_0.patch diff --git a/patches/mainline/v2_20241121_nathan_hexagon_disable_constant_extender_optimization_for_llvm_prior_to_19_1_0.patch b/patches/mainline/v2_20241121_nathan_hexagon_disable_constant_extender_optimization_for_llvm_prior_to_19_1_0.patch deleted file mode 100644 index e07aab71..00000000 --- a/patches/mainline/v2_20241121_nathan_hexagon_disable_constant_extender_optimization_for_llvm_prior_to_19_1_0.patch +++ /dev/null @@ -1,73 +0,0 @@ -From git@z Thu Jan 1 00:00:00 1970 -Subject: [PATCH v2] hexagon: Disable constant extender optimization for - LLVM prior to 19.1.0 -From: Nathan Chancellor -Date: Thu, 21 Nov 2024 11:22:18 -0700 -Message-Id: <20241121-hexagon-disable-constant-expander-pass-v2-1-1a92e9afb0f4@kernel.org> -MIME-Version: 1.0 -Content-Type: text/plain; charset="utf-8" -Content-Transfer-Encoding: 7bit - -The Hexagon-specific constant extender optimization in LLVM may crash on -Linux kernel code [1], such as fs/bcache/btree_io.c after -commit 32ed4a620c54 ("bcachefs: Btree path tracepoints") in 6.12: - - clang: llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp:745: bool (anonymous namespace)::HexagonConstExtenders::ExtRoot::operator<(const HCE::ExtRoot &) const: Assertion `ThisB->getParent() == OtherB->getParent()' failed. - Stack dump: - 0. Program arguments: clang --target=hexagon-linux-musl ... fs/bcachefs/btree_io.c - 1. parser at end of file - 2. Code generation - 3. Running pass 'Function Pass Manager' on module 'fs/bcachefs/btree_io.c'. - 4. Running pass 'Hexagon constant-extender optimization' on function '@__btree_node_lock_nopath' - -Without assertions enabled, there is just a hang during compilation. - -This has been resolved in LLVM main (20.0.0) [2] and backported to LLVM -19.1.0 but the kernel supports LLVM 13.0.1 and newer, so disable the -constant expander optimization using the '-mllvm' option when using a -toolchain that is not fixed. - -Cc: stable@vger.kernel.org -Link: https://github.com/llvm/llvm-project/issues/99714 [1] -Link: https://github.com/llvm/llvm-project/commit/68df06a0b2998765cb0a41353fcf0919bbf57ddb [2] -Link: https://github.com/llvm/llvm-project/commit/2ab8d93061581edad3501561722ebd5632d73892 [3] -Reviewed-by: Brian Cain -Link: https://lore.kernel.org/r/20241121-hexagon-disable-constant-expander-pass-v2-1-1a92e9afb0f4@kernel.org -Signed-off-by: Nathan Chancellor ---- -Andrew, can you please take this for 6.13? Our CI continues to hit this. - -Changes in v2: -- Rebase on 6.12 to make sure it is still applicable -- Name exact bcachefs commit that introduces crash now that it is - merged -- Add 'Cc: stable' as this is now visible in a stable release -- Carry forward Brian's reviewed-by -- Link to v1: https://lore.kernel.org/r/20240819-hexagon-disable-constant-expander-pass-v1-1-36a734e9527d@kernel.org ---- - arch/hexagon/Makefile | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/arch/hexagon/Makefile b/arch/hexagon/Makefile -index 92d005958dfb232d48a4ca843b46262a84a08eb4..ff172cbe5881a074f9d9430c37071992a4c8beac 100644 ---- a/arch/hexagon/Makefile -+++ b/arch/hexagon/Makefile -@@ -32,3 +32,9 @@ KBUILD_LDFLAGS += $(ldflags-y) - TIR_NAME := r19 - KBUILD_CFLAGS += -ffixed-$(TIR_NAME) -DTHREADINFO_REG=$(TIR_NAME) -D__linux__ - KBUILD_AFLAGS += -DTHREADINFO_REG=$(TIR_NAME) -+ -+# Disable HexagonConstExtenders pass for LLVM versions prior to 19.1.0 -+# https://github.com/llvm/llvm-project/issues/99714 -+ifneq ($(call clang-min-version, 190100),y) -+KBUILD_CFLAGS += -mllvm -hexagon-cext=false -+endif - ---- -base-commit: adc218676eef25575469234709c2d87185ca223a -change-id: 20240802-hexagon-disable-constant-expander-pass-8b6b61db6afc - -Best regards, --- -Nathan Chancellor -