Rollup merge of #65102 - tmiasko:tsan-probe-stack, r=alexcrichton
Disable stack probe when thread sanitizer is enabled When thread sanitizer instrumentation is enabled during compilation of stack probe function, the function will be miscompiled and trigger segmentation fault at runtime. Disable stack probes when tsan is enabled.
This commit is contained in:
commit
3c5f8a1da0
1 changed files with 6 additions and 4 deletions
|
@ -96,10 +96,12 @@ pub fn set_probestack(cx: &CodegenCx<'ll, '_>, llfn: &'ll Value) {
|
|||
}
|
||||
|
||||
// Currently stack probes seem somewhat incompatible with the address
|
||||
// sanitizer. With asan we're already protected from stack overflow anyway
|
||||
// so we don't really need stack probes regardless.
|
||||
if let Some(Sanitizer::Address) = cx.sess().opts.debugging_opts.sanitizer {
|
||||
return
|
||||
// sanitizer and thread sanitizer. With asan we're already protected from
|
||||
// stack overflow anyway so we don't really need stack probes regardless.
|
||||
match cx.sess().opts.debugging_opts.sanitizer {
|
||||
Some(Sanitizer::Address) |
|
||||
Some(Sanitizer::Thread) => return,
|
||||
_ => {},
|
||||
}
|
||||
|
||||
// probestack doesn't play nice either with `-C profile-generate`.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue