Skip to content
Snippets Groups Projects
  • Alice Ryhl's avatar
    6273a058
    x86: rust: set rustc-abi=x86-softfloat on rustc>=1.86.0 · 6273a058
    Alice Ryhl authored
    When using Rust on the x86 architecture, we are currently using the
    unstable target.json feature to specify the compilation target. Rustc is
    going to change how softfloat is specified in the target.json file on
    x86, thus update generate_rust_target.rs to specify softfloat using the
    new option.
    
    Note that if you enable this parameter with a compiler that does not
    recognize it, then that triggers a warning but it does not break the
    build.
    
    [ For future reference, this solves the following error:
    
            RUSTC L rust/core.o
          error: Error loading target specification: target feature
          `soft-float` is incompatible with the ABI but gets enabled in
          target spec. Run `rustc --print target-list` for a list of
          built-in targets
    
      - Miguel ]
    
    Cc: <stable@vger.kernel.org> # Needed in 6.12.y and 6.13.y only (Rust is pinned in older LTSs).
    Link: https://github.com/rust-lang/rust/pull/136146
    
    
    Signed-off-by: default avatarAlice Ryhl <aliceryhl@google.com>
    Acked-by: Dave Hansen <dave.hansen@linux.intel.com> # for x86
    Link: https://lore.kernel.org/r/20250203-rustc-1-86-x86-softfloat-v1-1-220a72a5003e@google.com
    
    
    [ Added 6.13.y too to Cc: stable tag and added reasoning to avoid
      over-backporting. - Miguel ]
    Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
    6273a058
    History
    x86: rust: set rustc-abi=x86-softfloat on rustc>=1.86.0
    Alice Ryhl authored
    When using Rust on the x86 architecture, we are currently using the
    unstable target.json feature to specify the compilation target. Rustc is
    going to change how softfloat is specified in the target.json file on
    x86, thus update generate_rust_target.rs to specify softfloat using the
    new option.
    
    Note that if you enable this parameter with a compiler that does not
    recognize it, then that triggers a warning but it does not break the
    build.
    
    [ For future reference, this solves the following error:
    
            RUSTC L rust/core.o
          error: Error loading target specification: target feature
          `soft-float` is incompatible with the ABI but gets enabled in
          target spec. Run `rustc --print target-list` for a list of
          built-in targets
    
      - Miguel ]
    
    Cc: <stable@vger.kernel.org> # Needed in 6.12.y and 6.13.y only (Rust is pinned in older LTSs).
    Link: https://github.com/rust-lang/rust/pull/136146
    
    
    Signed-off-by: default avatarAlice Ryhl <aliceryhl@google.com>
    Acked-by: Dave Hansen <dave.hansen@linux.intel.com> # for x86
    Link: https://lore.kernel.org/r/20250203-rustc-1-86-x86-softfloat-v1-1-220a72a5003e@google.com
    
    
    [ Added 6.13.y too to Cc: stable tag and added reasoning to avoid
      over-backporting. - Miguel ]
    Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>