lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <36cdc798-524f-4910-8b77-d7b9fac08d77@oss.qualcomm.com>
Date: Tue, 22 Jul 2025 12:52:53 +0200
From: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
To: Miguel Ojeda <ojeda@...nel.org>, Alex Gaynor <alex.gaynor@...il.com>,
        Boqun Feng <boqun.feng@...il.com>, Gary Guo <gary@...yguo.net>,
        Björn Roy Baron <bjorn3_gh@...tonmail.com>,
        Benno Lossin <lossin@...nel.org>,
        Andreas Hindborg <a.hindborg@...nel.org>,
        Alice Ryhl <aliceryhl@...gle.com>, Trevor Gross <tmgross@...ch.edu>,
        Danilo Krummrich <dakr@...nel.org>, rust-for-linux@...r.kernel.org,
        lkml <linux-kernel@...r.kernel.org>
Subject: make ARCH=arm64 rustdoc fails on a x86 host with SCS enabled

Trying to build rustdoc as part of an arm64 kernel build on an x86
host results in a number of errors. Looks like we're ignoring the
-Zfixed-18 flag (arch/arm64/Makefile) at some point in the build
process, but I wasn't able to track it down it myself. Found on
next-20250722 (today).

Disabling SCS works around the issue, but that's less than ideal.

$ rustc --version
rustc 1.88.0 (6b00bc388 2025-06-23)

Error log below (CONFIG_SHADOW_CALL_STACK=y):

$ make ARCH=arm64 LLVM=1 -j24 rustdoc

[...]

error: mixing `-Zfixed-x18` will cause an ABI mismatch in crate `ffi`
 --> rust/ffi.rs:3:1
  |
3 | //! Foreign function interface (FFI) types.
  | ^
  |
  = help: the `-Zfixed-x18` flag modifies the ABI so Rust crates compiled with different values of this flag cannot be used together safely
  = note: unset `-Zfixed-x18` in this crate is incompatible with `-Zfixed-x18=` in dependency `core`
  = help: set `-Zfixed-x18=` in this crate or unset `-Zfixed-x18` in `core`
  = help: if you are sure this will not cause problems, you may use `-Cunsafe-allow-abi-mismatch=fixed-x18` to silence this error

error: mixing `-Zfixed-x18` will cause an ABI mismatch in crate `ffi`
 --> rust/ffi.rs:3:1
  |
3 | //! Foreign function interface (FFI) types.
  | ^
  |
  = help: the `-Zfixed-x18` flag modifies the ABI so Rust crates compiled with different values of this flag cannot be used together safely
  = note: unset `-Zfixed-x18` in this crate is incompatible with `-Zfixed-x18=` in dependency `compiler_builtins`
  = help: set `-Zfixed-x18=` in this crate or unset `-Zfixed-x18` in `compiler_builtins`
  = help: if you are sure this will not cause problems, you may use `-Cunsafe-allow-abi-mismatch=fixed-x18` to silence this error

error: aborting due to 2 previous errors
error: mixing `-Zfixed-x18` will cause an ABI mismatch in crate `compiler_builtins`
 --> rust/compiler_builtins.rs:3:1
  |
3 | //! Our own `compiler_builtins`.
  | ^

  |
  = help: the `-Zfixed-x18` flag modifies the ABI so Rust crates compiled with different values of this flag cannot be used together safely
  = note: unset `-Zfixed-x18` in this crate is incompatible with `-Zfixed-x18=` in dependency `core`
  = help: set `-Zfixed-x18=` in this crate or unset `-Zfixed-x18` in `core`
  = help: if you are sure this will not cause problems, you may use `-Cunsafe-allow-abi-mismatch=fixed-x18` to silence this error

error: aborting due to 1 previous error

Konrad

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ