[PATCH 3/3] rust: Enable for MIPS
Miguel Ojeda
miguel.ojeda.sandonis at gmail.com
Tue Sep 3 11:17:04 PDT 2024
On Tue, Sep 3, 2024 at 7:53 PM Jiaxun Yang <jiaxun.yang at flygoat.com> wrote:
>
> Thanks for your review!
You're welcome!
> Triples defined for MIPS bare-metal target is surprisingly lacking, we do have
> little-endian 32-bit bare-metal target mipsel-unknown-none but big-endian and
> 64 bit variants are missing.
Hmm... Sorry if this may be too naive, since I have no expertise on
MIPS, but I see some triples that match the LLVM ones you specify in
the patch:
rustc --print target-list | grep mips
> Also, those triples all assumed +mips32r2 as baseline ISA, but kernel actually needs
> some other ISA variant features.
I guess you mean you are getting the warning about the
unknown/unstable feature passed to the backend? i.e. `rustc` knows
about those LLVM ones and forwards them when enabled via
`-Ctarget-feature` (with a warning):
rustc --target mips64-unknown-linux-gnuabi64 --print target-features
So they would need to be added to the list at [1] (or targeted flags created).
Until those do not emit a warning, it is fine using the `target.json`,
but I wanted to understand if there is something else you may need,
since we will need to eventually avoid the `target.json`, so it is
best asking upstream as soon as possible.
Thanks!
[1] https://github.com/rust-lang/rust/blob/d6c8169c186ab16a3404cd0d0866674018e8a19e/compiler/rustc_target/src/target_features.rs#L368
Cheers,
Miguel
More information about the linux-um
mailing list