Skip to content

Commit

Permalink
Rollup merge of rust-lang#116593 - tgross35:no-jump-tables-docs, r=co…
Browse files Browse the repository at this point in the history
…mpiler-errors

Add unstable book page for the no-jump-tables codegen option

See tracking issue: rust-lang#116592
  • Loading branch information
matthiaskrgr authored Oct 12, 2023
2 parents 19149d1 + 51e8c80 commit e7d7e9f
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions src/doc/unstable-book/src/compiler-flags/no-jump-tables.md
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit e7d7e9f

Please sign in to comment.