diff options
| author | Trevor Gross <tmgross@umich.edu> | 2023-10-10 02:40:26 -0400 |
|---|---|---|
| committer | Trevor Gross <tmgross@umich.edu> | 2023-10-10 02:41:07 -0400 |
| commit | 51e8c807277580f3575df4bbd01ebf2bfde941ff (patch) | |
| tree | 14dc654613ebe6b2a50aed825bd0e94fed9d5bb3 | |
| parent | fa6d1e75125d9c94c21a58c2301492026031fcb8 (diff) | |
| download | rust-51e8c807277580f3575df4bbd01ebf2bfde941ff.tar.gz rust-51e8c807277580f3575df4bbd01ebf2bfde941ff.zip | |
Add unstable book page for the no-jump-tables codegen option
| -rw-r--r-- | src/doc/unstable-book/src/compiler-flags/no-jump-tables.md | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/doc/unstable-book/src/compiler-flags/no-jump-tables.md b/src/doc/unstable-book/src/compiler-flags/no-jump-tables.md new file mode 100644 index 00000000000..f096c20f4bd --- /dev/null +++ b/src/doc/unstable-book/src/compiler-flags/no-jump-tables.md @@ -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 |
