rust/compiler/rustc_session/src
bors a8207df49e Auto merge of #105812 - ojeda:no-jump-tables, r=nikic
Add `-Zno-jump-tables`

This flag mimics GCC/Clang's `-fno-jump-tables` [1][2], which makes the codegen backend avoid generating jump tables when lowering switches.

In the case of LLVM, the `"no-jump-tables"="true"` function attribute is added to every function.

The kernel currently needs it for x86 when enabling IBT [3], as well as for Alpha (plus VDSO objects in MIPS/LoongArch).

[1] https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#index-fno-jump-tables
[2] https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-fjump-tables
[3] https://github.com/torvalds/linux/blob/v6.1/arch/x86/Makefile#L75-L83
2022-12-21 17:38:38 +00:00
..
config Change process spawning to inherit the parent's signal mask by default 2022-10-20 14:53:38 -07:00
cgu_reuse_tracker.rs Remove useless borrows and derefs 2022-12-01 17:34:43 +00:00
code_stats.rs Properly print generator interior type sizes 2022-12-07 18:33:26 +00:00
config.rs more clippy::complexity fixes 2022-12-15 00:09:10 +01:00
cstore.rs Fold Definitions into the untracked data 2022-12-09 14:59:39 +00:00
errors.rs Auto merge of #105421 - jacobbramley:jb/branch-prot-check, r=nagisa 2022-12-17 12:10:27 +00:00
filesearch.rs clippy::complexity fixes 2022-12-19 00:04:28 +01:00
lib.rs remove cfg(bootstrap) 2022-09-26 10:14:45 +02:00
options.rs Add -Zno-jump-tables 2022-12-20 21:42:54 +01:00
output.rs Use Symbol for the crate name instead of String/str 2022-12-07 20:30:02 +00:00
parse.rs Add more track_caller 2022-10-31 16:14:29 +01:00
search_paths.rs incr. comp.: Don't export impl_stable_hash_via_hash!() and warn about using it. 2022-04-19 10:43:20 +02:00
session.rs don't restuct references just to reborrow 2022-12-18 17:04:32 +01:00
utils.rs Get rid of native_library projection queries 2022-10-19 16:21:21 +02:00