On Sat, 17 Dec 2022 at 05:49, David Gow <davidgow@xxxxxxxxxx> wrote: > > The kernel disables all SSE and similar FP/SIMD instructions on > x86-based architectures (partly because we shouldn't be using floats in > the kernel, and partly to avoid the need for stack alignment, see: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53383 ) > > UML does not do the same thing, which isn't in itself a problem, but > does add to the list of differences between UML and "normal" x86 builds. > > In addition, there was a crash bug with LLVM < 15 / rustc < 1.65 when > building with SSE, so disabling it fixes rust builds with earlier > compiler versions, see: > https://github.com/Rust-for-Linux/linux/pull/881 > > Signed-off-by: David Gow <davidgow@xxxxxxxxxx> > --- > arch/x86/Makefile.um | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um > index b3c1ae084180..d2e95d1d4db7 100644 > --- a/arch/x86/Makefile.um > +++ b/arch/x86/Makefile.um > @@ -1,6 +1,12 @@ > # SPDX-License-Identifier: GPL-2.0 > core-y += arch/x86/crypto/ > > +# > +# Disable SSE and other FP/SIMD instructions to match normal x86 > +# > +KBUILD_CFLAGS += -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx > +KBUILD_RUSTFLAGS += -Ctarget-feature=-sse,-sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-avx,-avx2 > + > ifeq ($(CONFIG_X86_32),y) > START := 0x8048000 > > -- > 2.39.0.314.g84b9a713c41-goog > Reviewed-by: Sergio González Collado <sergio.collado@xxxxxxxxx>