On Tue, Sep 3, 2024 at 7:53 PM Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx> 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