about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2022-02-11 21:48:48 +0100
committerGitHub <noreply@github.com>2022-02-11 21:48:48 +0100
commit13d636dff2a25b64ec8b7d661ef1ca5b9956a946 (patch)
treeed940d5318610d3b8fa592224226604012679424 /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
parentffa8d6b47d2b3f7e8931eae7d07f87e3585597b8 (diff)
parentd39a6377e9cfa108eb181ea892366e6b01fd753f (diff)
downloadrust-13d636dff2a25b64ec8b7d661ef1ca5b9956a946.tar.gz
rust-13d636dff2a25b64ec8b7d661ef1ca5b9956a946.zip
Rollup merge of #93782 - adamgemmell:dev/adagem01/split-pauth, r=Amanieu
Split `pauth` target feature

Per discussion on https://github.com/rust-lang/rust/issues/86941 we'd like to split `pauth` into `paca` and `pacg` in order to better support possible future environments that only have the keys available for address or generic authentication. At the moment LLVM has the one `pauth` target_feature while Linux presents separate `paca` and `pacg` flags for feature detection.

Because the use of [target_feature](https://rust-lang.github.io/rfcs/2045-target-feature.html) will "allow the compiler to generate code under the assumption that this code will only be reached in hosts that support the feature", it does not make sense to simply translate `paca` into the LLVM feature `pauth`, as it will generate code as if `pacg` is available.

To accommodate this we error if only one of the two features is present. If LLVM splits them in the future we can remove this restriction without making a breaking change.

r? ```@Amanieu```
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions