Package: rustc Followup-For: Bug #973414 X-Debbugs-Cc: debian-toolch...@lists.debian.org, martin-eric.rac...@iki.fi, fierel...@gmail.com Control: severity -1 serious Control: tags -1 patch
A caution: there's a good chance I'm wasting everyone's time with this patch and much of the preceding commentary about it. However, I'd feel more comfortable raising this commotion about it and then being talked down reasonably than I would if I didn't attempt to apply what I feel is a fix. Worth noting: it could still be an incorrect fix; this area is somewhat beyond my expertise. That's a reasonable reason to reject it too, because I don't think anyone would want it to be applied and cause long-term problems. Anyhow: Dear Maintainer, please find attached a patch that may address this issue that I feel may be release critical for bookworm, per Debian's architecture policy guidelines.
Description: match rustc i686 specification to Debian 9 i386 baseline Since Debian 9 (stretch), the baseline architecture specification for i386 package has been the i686 (Pentium P6), with neither MMX nor SSE instruction set extensions. . This is a lower baseline than the Pentium 4 default in Rust 1.63, and also lower than the Pentium Pro default previously specified in Debian's packaging for that version. . Upstream's definition of i686 appears to have converged on a different meaning, so this patch doesn't currently seem to be worth offering upstream (author's opinion here). . There are some downsides to this patch; performance of the Rust tooling and code built with it on Debian i386 will be suboptimal when using the defaults. Again, author's opinion: I think it's worthwhile so that Debian is viable on baseline hardware. . Ref: https://wiki.debian.org/ArchitectureSpecificsMemo#i386-1 Author: James Addison <j...@jp-hosting.net> Last-Update: Wed 29 Mar 18:24:38 BST 2023 Bug: https://bugs.debian.org/973414 Forwarded: not-needed X-Not-Forwarded-Because: upstream consensus on i686 differs --- --- rustc-1.63.0+dfsg1.orig/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs +++ rustc-1.63.0+dfsg1/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs @@ -2,7 +2,7 @@ use crate::spec::{LinkerFlavor, StackPro pub fn target() -> Target { let mut base = super::linux_gnu_base::opts(); - base.cpu = "pentium4".into(); + base.cpu = "i686".into(); base.max_atomic_width = Some(64); base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".into()); // don't use probe-stack=inline-asm until rust#83139 and rust#84667 are resolved