Add a script to automatically update Rust/Clang versions

This commit is contained in:
Joshua Nelson 2020-09-07 22:06:23 -04:00
parent 7d289aeade
commit 0c9bf13f5f

View file

@ -89,6 +89,28 @@ rustc -Clinker-plugin-lto="/path/to/LLVMgold.so" -L. -Copt-level=2 ./main.rs
## Toolchain Compatibility ## Toolchain Compatibility
<!-- NOTE: to update the below table, you can use this shell script:
```sh
rustup toolchain install --profile minimal nightly
MINOR_VERSION=$(rustc +nightly --version | cut -d . -f 2)
LOWER_BOUND=44
llvm_version() {
toolchain="$1"
printf "Rust $toolchain | Clang "
rustc +"$toolchain" -Vv | grep LLVM | cut -d ':' -f 2 | tr -d ' '
}
for version in `seq $LOWER_BOUND $((MINOR_VERSION - 2))`; do
toolchain=1.$version.0
rustup toolchain install --no-self-update --profile minimal $toolchain >/dev/null 2>&1
llvm_version $toolchain
done
```
-->
In order for this kind of LTO to work, the LLVM linker plugin must be able to In order for this kind of LTO to work, the LLVM linker plugin must be able to
handle the LLVM bitcode produced by both `rustc` and `clang`. handle the LLVM bitcode produced by both `rustc` and `clang`.