[Pkg-rust-maintainers] Bug#973414: rustc: produces non-baseline opcodes for compiler_builtins::int::udiv::__udivmoddi4 on i386

James Addison jay at jp-hosting.net
Wed Mar 29 03:13:06 BST 2023


Package: rustc
Followup-For: Bug #973414
X-Debbugs-Cc: fierelier at gmail.com

After a few false starts, I've built libstd-rust-dev:i386 targeting i686 in the
way I'd expected (and to clarify: the interpretation I'm using is to match
Debian's baseline and a strict-ish reading of what P6 / i686 was when
originally specified).

Editing the 'd-rustc-i686-baseline.patch'[1] to specify "i686" instead of the
current "pentiumpro" achieved the result I was looking for: absence of NOPL in
the libstd libraries included when users compile statically-linked Rust code.

I'll double-check the results soon, and go back to see how that result affects
the original bugreport here.  My hope is that it helps to verify that the
rustc target spec is where we should be looking, but further work may be
required.

Caveats / todo items:

  * Check that "i686" is a valid CPU (not architecture) target

  * Ideally, test this on relevant hardware (non-NOPL, non-SSE2?)


Apologies, Fierelier - I didn't see your update until after these results
arrived.  Your links look relevant though, yep.  I _think_ Debian has patched
both those locations; I'll check in detail within the next day or two.

[1] - https://sources.debian.org/src/rustc/1.63.0%2Bdfsg1-2/debian/patches/d-rustc-i686-baseline.patch/



More information about the Pkg-rust-maintainers mailing list