File tree Expand file tree Collapse file tree 2 files changed +9
-5
lines changed
compiler/rustc_codegen_llvm/src
src/doc/rustc/src/codegen-options Expand file tree Collapse file tree 2 files changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -291,8 +291,10 @@ impl CodegenBackend for LlvmCodegenBackend {
291
291
292
292
The exact rules are unstable and subject to change, but
293
293
currently, it generates stack protectors for functions that,
294
- *post-optimization*, contain either arrays (of any size
295
- or type) or address-taken locals.
294
+ *post-optimization*, contain LLVM allocas (which
295
+ include all stack allocations - including fixed-size
296
+ allocations - that are used in a way that is not completely
297
+ determined by static control flow).
296
298
297
299
none
298
300
Do not generate stack canaries.
Original file line number Diff line number Diff line change @@ -691,9 +691,11 @@ Supported values for this option are:
691
691
692
692
The exact rules are unstable and subject to change, but
693
693
currently, it generates stack protectors for functions that,
694
- * post-optimization* , contain either arrays (of any size
695
- or type) or address-taken locals.
696
- - ` all ` : Generate stack canaries in all functions
694
+ * post-optimization* , contain LLVM allocas (which
695
+ include all stack allocations - including fixed-size
696
+ allocations - that are used in a way that is not completely
697
+ determined by static control flow).
698
+ - ` all ` : Generate stack canaries in all functions
697
699
698
700
Stack protectors are not supported on many GPU targets, use of stack
699
701
protectors on these targets is an error.
You can’t perform that action at this time.
0 commit comments