Remix.run Logo
▲ embedding-shape 4 hours ago

> The main disadvantage of Rust right now is not supporting some more obscure platforms

Last time I checked, I got impressed by the wide platform support, once you go down the tier list (https://doc.rust-lang.org/nightly/rustc/platform-support.htm...). What "obscure platform" specifically are you thinking about, that is currently missing from those lists?

▲fotcorn 3 hours ago | parent | next [-]

Just to be clear, I think this is a very small disadvantage. GCC and therefore C/C++ supports some old stuff like SuperH, Intel Itanium, PA-RISC and a bunch of microcontroller archs that LLVM does not.

However, there is now a Rust codegen plugin for GCC, so even this disadvantage is now basically moot.

Rewrite all the things!

▲afdbcreid 28 minutes ago | parent [-]

The GCC backend is fairly complete but still does not support everything.

▲torginus 3 hours ago | parent | prev [-]

yeah this makes no sense to me. Why would Rust limit the LLVM backend's ability to generate code for a particular platform?

▲panzi 3 hours ago | parent | next [-]

I think the claim is that GCC supports a few obscure platforms that LLVM doesn't. Don't ask me which, that is just the claim that I heard multiple times. So it's not Rust that limits platforms, but LLVM. And they say the GCC backend efforts of Rust are meant to deal with that.

▲bkallus 3 hours ago | parent [-]

> Don't ask me which

There are many. Two big ones are Alpha and PA-RISC. NetBSD and Linux continue to support both. Linux distro choices are pretty much limited to Gentoo though.

▲steveklabnik 2 hours ago | parent | prev [-]

1. You've got the causality backwards. LLVM backends don't come for free, you have to write code to enable support for them.

2. LLVM does not support as many backends as GCC does, so even if you did get 100% of the LLVM supported backends up and running, you'd still be missing some.