Earlier quoted context omitted.
We are always interested in adding more platforms. I don't remember if there are any open issues with a MUSL host; I vaguely remember something about compiler plugins?
I suppose the issues you're referring to are with statically linked against musl executables. I wouldn't expect any such issue with musl just as the host, where you can run rustc on alpine and voidlinux, just not necessarily statically.
Afl.rs: Fuzzing Rust code with american-fuzzy-lop
61–70 of 110 posts
Re: Afl.rs: Fuzzing Rust code with american-fuzzy-lop
#62Earlier quoted context omitted.
I am not sure, but I don't think so right now. I don't know how FreeBSD and MUSL interact.
I mean given that FreeBSD's libc allows full static linking, the same support as for musl-target.
Re: Afl.rs: Fuzzing Rust code with american-fuzzy-lop
#63Randomly looking at the "Trophy Case", it looks like most of these errors are run-time "panics". We can break Rust errors down into three main categories: 1. Compile-time errors. This includes most memory-related errors, which are mostly caught by the borrow checker. These are very serious errors, often with ugly security consequences. Rust's big selling point is that it can catch many different kinds of errors at co…
> 2. Run-time panics. This includes "index out of bound" errors, integer overflow errors (in debug builds only), and assertions inserted by the programmer. This is Rust's second line of defense, so to speak. I still argue, to every Rust user I meet, that they should turn on overflow checking in Release builds too. I strongly disagree with the idea that it's a Debug feature only. If it's not always on, then it's not a…
Re: Afl.rs: Fuzzing Rust code with american-fuzzy-lop
#64Earlier quoted context omitted.
You can write your own code in stable Rust while using tooling that works on nightly. Rustup.rs makes it very easy to switch between stable and nightly.
Assuming you are allowed control over the development environment, which isn't possible in many companies.
Re: Afl.rs: Fuzzing Rust code with american-fuzzy-lop
#65Earlier quoted context omitted.
> Every time someone posts a cool Rust library, most of the time it makes use of nightly. Examples? Examples that aren't tools, that is. The main example I can think of is serde, and that works on stable (just works better on nightly). What's wrong with nightly for using tooling? You don't have to keep updating, you can pin to a nightly from a particular date. You can use rustup.rs to switch to stable locally if you…
Many companies let their IT control what toolchains one is allowed to use. Usually it is set in stone and only updated every few IT upgrade cycles. What the devs get on their machines is that and nothing more.
Re: Afl.rs: Fuzzing Rust code with american-fuzzy-lop
#66Re: Afl.rs: Fuzzing Rust code with american-fuzzy-lop
#67Earlier quoted context omitted.
Many companies let their IT control what toolchains one is allowed to use. Usually it is set in stone and only updated every few IT upgrade cycles. What the devs get on their machines is that and nothing more.
Good, install rustup.rs, with one date-pinned nightly, and stable. Freeze the rustup.rs install directory. Done?
With respect, the Rust community is extremely in-exposed to the majority of actual enterprise environments, and that's ok.
Honestly the best path forward is to just acknowledge it, say "we are working on it" and you'll get your point across better.
Again with respect, because you all do really amazing work, fighting it honestly makes you and the whole community come across ignorant.
Re: Afl.rs: Fuzzing Rust code with american-fuzzy-lop
#68Earlier quoted context omitted.
> 2. Run-time panics. This includes "index out of bound" errors, integer overflow errors (in debug builds only), and assertions inserted by the programmer. This is Rust's second line of defense, so to speak. I still argue, to every Rust user I meet, that they should turn on overflow checking in Release builds too. I strongly disagree with the idea that it's a Debug feature only. If it's not always on, then it's not a…
> I still argue, to every Rust user I meet, that they should turn on overflow checking in Release builds too. Yeah, I remember when the debug-mode overflow checks were added right before Rust 1.0. There wasn't enough time remaining to thoroughly measure the performance impact of these checks in release mode or to implement compiler optimizations to reduce the cost. So IIRC, the decision was made to allow integer over…
I think that's the wrong way to look at it. How about instead:
"Checks can be disabled if the safety cost is worth the performance increase"
The "performance case" is a false baseline. You never had that performance in the first place, because your code didn't work.
Re: Afl.rs: Fuzzing Rust code with american-fuzzy-lop
#69Earlier quoted context omitted.
> I still argue, to every Rust user I meet, that they should turn on overflow checking in Release builds too. Yeah, I remember when the debug-mode overflow checks were added right before Rust 1.0. There wasn't enough time remaining to thoroughly measure the performance impact of these checks in release mode or to implement compiler optimizations to reduce the cost. So IIRC, the decision was made to allow integer over…
> if the performance cost can be made low enough I think that's the wrong way to look at it. How about instead: "Checks can be disabled if the safety cost is worth the performance increase" The "performance case" is a false baseline. You never had that performance in the first place, because your code didn't work.
If your goal is purely to make Rust as safe as possible, then you should advocate the view in your comment.
If your goal is to increase Rust adoption, and/or decrease the use of less safe languages for development in the future (in whichever prioritization of the two you like), then IMO the route described in ekidd's comment seems the quickest route there, IMO.
Re: Afl.rs: Fuzzing Rust code with american-fuzzy-lop
#70Earlier quoted context omitted.
Every time someone posts a cool Rust library, most of the time it makes use of nightly. How come can I advocate Rust to serious enterprise customers, if I have to justify using nightlies to make use of such tooling? Apparently downvoting every time someone mentions the issue with nightly being required is fair.
> Every time someone posts a cool Rust library, most of the time it makes use of nightly. Examples? Examples that aren't tools, that is. The main example I can think of is serde, and that works on stable (just works better on nightly). What's wrong with nightly for using tooling? You don't have to keep updating, you can pin to a nightly from a particular date. You can use rustup.rs to switch to stable locally if you…
> Note: You must be using nightly Rust release. If you're using multirust, which is highly recommended, switch with multirust default nightly command.