lkml.org 
[lkml]   [2023]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH 2/3] rust: arch/um: Disable FP/SIMD instruction to match x86
    On Sat, 17 Dec 2022 at 05:49, David Gow <davidgow@google.com> 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@google.com>
    > ---
    > 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@gmail.com>

    \
     
     \ /
      Last update: 2023-03-26 23:41    [W:7.537 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site