rust/compiler/rustc_codegen_llvm/src
Stuart Cook efdc8aca3e
Rollup merge of #147043 - ilovepi:default-sanitizers, r=petrochenkov
Add default sanitizers to TargetOptions

Some sanitizers are part of a system's ABI, like the shadow call stack on Aarch64 and RISC-V Fuchsia. Typically ABI options have other spellings, but LLVM has, for historical reasons, marked this as a sanitizer instead of an alternate ABI option. As a result, Fuchsia targets may not be compiled against the correct ABI unless this option is set. This hasn't caused correctness problems, since the backend reserves the SCS register, and thus preserves its value. But this is an issue for unwinding, as the SCS will not be an array of PCs describing the call complete call chain, and will have gaps from callers that don't use the correct ABI.

In the long term, I'd like to see all the sanitizer configs that all frontends copy from clang moved into llvm's libFrontend, and exposed so that frontend consumers can use a small set of simple APIs to use sanitizers in a consistent way across the LLVM ecosystem, but that work is not yet ready today.
2025-11-06 14:07:16 +11:00
..
back Auto merge of #148516 - bjorn3:target_feature_parsing_improvements, r=WaffleLapkin 2025-11-05 17:56:16 +00:00
builder Auto merge of #142696 - ZuseZ4:offload-device1, r=oli-obk 2025-10-20 10:17:29 +00:00
coverageinfo Add coverage scope for controlling paths in code coverage 2025-10-27 12:54:24 +01:00
debuginfo Use LLVMDIBuilderCreateGlobalVariableExpression 2025-10-12 23:36:26 +11:00
llvm Rollup merge of #148103 - Zalathar:compression, r=wesleywiser 2025-10-31 18:41:51 +01:00
abi.rs Rollup merge of #147043 - ilovepi:default-sanitizers, r=petrochenkov 2025-11-06 14:07:16 +11:00
allocator.rs miri: use allocator_shim_contents codegen helper 2025-10-15 21:23:14 +02:00
asm.rs Allow vector-scalar (vs) registers in ppc inline assembly 2025-10-14 09:52:56 -05:00
attributes.rs Rollup merge of #147043 - ilovepi:default-sanitizers, r=petrochenkov 2025-11-06 14:07:16 +11:00
base.rs Consistently import llvm::Type and llvm::Value 2025-10-06 13:09:16 +11:00
builder.rs rustc_target: introduce Arch 2025-11-04 21:27:22 -05:00
callee.rs rustc_target: introduce Arch 2025-11-04 21:27:22 -05:00
common.rs Fix ICE on offsetted ZST pointer 2025-10-15 20:06:46 -04:00
consts.rs rustc_target: introduce Arch 2025-11-04 21:27:22 -05:00
context.rs rustc_target: introduce Arch 2025-11-04 21:27:22 -05:00
declare.rs refactor: Remove LLVMRustInsertPrivateGlobal and define_private_global 2025-10-08 21:59:48 +02:00
errors.rs Use the object crate rather than LLVM for extracting bitcode sections 2025-07-25 11:21:28 +00:00
intrinsic.rs Add alignment parameter to simd_masked_{load,store} 2025-11-04 02:30:59 +05:30
lib.rs Auto merge of #148544 - matthiaskrgr:rollup-n9dqgwc, r=matthiaskrgr 2025-11-05 21:07:24 +00:00
llvm_util.rs Auto merge of #148516 - bjorn3:target_feature_parsing_improvements, r=WaffleLapkin 2025-11-05 17:56:16 +00:00
macros.rs use declarative macro for #[derive(TryFromU32)] 2025-10-06 14:54:38 +00:00
mono_item.rs rustc_target: introduce Arch 2025-11-04 21:27:22 -05:00
type_.rs Consistently import llvm::Type and llvm::Value 2025-10-06 13:09:16 +11:00
type_of.rs Consistently import llvm::Type and llvm::Value 2025-10-06 13:09:16 +11:00
typetree.rs autodiff: typetree recursive depth query from enzyme with fallback 2025-09-19 05:42:27 +00:00
va_arg.rs rustc_target: introduce Arch 2025-11-04 21:27:22 -05:00
value.rs Consistently import llvm::Type and llvm::Value 2025-10-06 13:09:16 +11:00