We don't need to bootstrap from scratch, Rust (via LLVM) can cross-compile very easily once riscv64 support is added.
In practise I am already cross-compiling amd64->mips/mipsel for every stable Rust release on my home box, because a native mips rustc compile runs out of memory on those 32-bit machines. [1] The cross-compiled mips works completely fine to build smaller rust packages, e.g cargo [2] ripgrep [3]
> This will be a poor hill for you to die on, but I invite you to provide literature supporting your alternative definition.
Lol, you are being melodramatic, this is just some algorithms. Thomas Pornin says:
> more precisely, that variations in execution time are not correlated with secret elements: execution time may still vary, but not in a way that can be traced back to any kind of value that you wish to keep secret,
What I said:
> what the operation actually takes constant non-varying time, so that an attacker can't exploit this as a side channel to figure out the input values.
We basically said the same thing, but you are choosing to nit-pick my precise wording. Sure the execution can vary according to public inputs. The subject of this thread (the paper) doesn't talk about whether inputs are secret or public, but the "constant time" part of it is only interesting if the inputs are secret, and under this context it means "non-varying".
The people that downvoted my previous post are idiots.
We don't need to bootstrap from scratch, Rust (via LLVM) can cross-compile very easily once riscv64 support is added.
In practise I am already cross-compiling amd64->mips/mipsel for every stable Rust release on my home box, because a native mips rustc compile runs out of memory on those 32-bit machines. [1] The cross-compiled mips works completely fine to build smaller rust packages, e.g cargo [2] ripgrep [3]
[1] https://github.com/rust-lang/rust/issues/56888 [2] https://buildd.debian.org/status/package.php?p=cargo [3] https://buildd.debian.org/status/package.php?p=rust-ripgrep