summaryrefslogtreecommitdiffstats
path: root/net/Makefile
diff options
context:
space:
mode:
authorNathan Chancellor <nathan@kernel.org>2024-11-21 11:22:18 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2024-12-17 14:07:53 -0800
commitaef25be35d23ec768eed08bfcf7ca3cf9685bc28 (patch)
tree39e08075e3979d5a48dffb0eb04ce52cc555491c /net/Makefile
parent5529876063e110ea49326138149fdf2a28a484dd (diff)
downloadlinux-master.tar.gz
linux-master.tar.bz2
linux-master.zip
hexagon: Disable constant extender optimization for LLVM prior to 19.1.0HEADmaster
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. <eof> 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 <bcain@quicinc.com> Signed-off-by: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'net/Makefile')
0 files changed, 0 insertions, 0 deletions