@@ -212,15 +212,23 @@ with coverage tools other than those built and shipped with the compiler.
212212## jump-tables
213213
214214This option is used to allow or prevent the LLVM codegen backend from creating
215- jump tables when lowering switches.
215+ jump tables when lowering switches from Rust code .
216216
217217* ` y ` , ` yes ` , ` on ` , ` true ` or no value: allow jump tables (the default).
218218* ` n ` , ` no ` , ` off ` or ` false ` : disable jump tables.
219219
220+ To prevent jump tables being created from Rust code, a target must ensure
221+ all crates are compiled with jump tables disabled.
222+
223+ Note, in many cases the rust toolchain is distributed with precompiled
224+ crates, such as the core and std crates, which could possibly include
225+ jump tables. Furthermore, this option does not guarantee a target will
226+ be free of jump tables. They could arise from external dependencies,
227+ inline asm, or other complicated interactions when using crates which
228+ are compiled with jump table support.
229+
220230Disabling jump tables can be used to help provide protection against
221- jump-oriented-programming (JOP) attacks. However, this option makes
222- no guarantee any precompiled or external dependencies are compiled
223- with or without jump tables.
231+ jump-oriented-programming (JOP) attacks.
224232
225233## link-arg
226234
0 commit comments