| ▲ | fotcorn 4 hours ago |
| > fixing corrupted input handling in a C/C++ code base would not be too hard The best programmers on the planet have tried and failed with this task for 50 years now, so I don't think this is true. The main disadvantage of Rust right now is not supporting some more obscure platforms, but because mold wouldn't support them anyway I don't see that as a problem. |
|
| ▲ | embedding-shape 4 hours ago | parent [-] |
| > 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! | | | |
| ▲ | 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. |
|
|