Rollup merge of #116593 - tgross35:no-jump-tables-docs, r=compiler-errors
Add unstable book page for the no-jump-tables codegen option See tracking issue: https://github.com/rust-lang/rust/issues/116592
This commit is contained in:
commit
54c528ee05
19
src/doc/unstable-book/src/compiler-flags/no-jump-tables.md
Normal file
19
src/doc/unstable-book/src/compiler-flags/no-jump-tables.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# `no-jump-tables`
|
||||||
|
|
||||||
|
The tracking issue for this feature is [#116592](https://github.com/rust-lang/rust/issues/116592)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
This option enables the `-fno-jump-tables` flag for LLVM, which makes the
|
||||||
|
codegen backend avoid generating jump tables when lowering switches.
|
||||||
|
|
||||||
|
This option adds the LLVM `no-jump-tables=true` attribute to every function.
|
||||||
|
|
||||||
|
The option can be used to help provide protection against
|
||||||
|
jump-oriented-programming (JOP) attacks, such as with the linux kernel's [IBT].
|
||||||
|
|
||||||
|
```sh
|
||||||
|
RUSTFLAGS="-Zno-jump-tables" cargo +nightly build -Z build-std
|
||||||
|
```
|
||||||
|
|
||||||
|
[IBT]: https://www.phoronix.com/news/Linux-IBT-By-Default-Tip
|
Loading…
x
Reference in New Issue
Block a user