Fix -Z instrument-coverage
on MSVC
Found that -C link-dead-code (which was enabled automatically under -Z instrument-coverage) was causing the linking error that resulted in segmentation faults in coverage instrumented binaries. Link dead code is now disabled under MSVC, allowing `-Z instrument-coverage` to be enabled under MSVC for the first time. More details are included in Issue #76038. (This PR was broken out from PR #75828)
This commit is contained in:
parent
85fbf49ce0
commit
ddb054aee8
6 changed files with 45 additions and 34 deletions
|
@ -190,7 +190,7 @@ pub fn partition<'tcx>(
|
|||
|
||||
// Next we try to make as many symbols "internal" as possible, so LLVM has
|
||||
// more freedom to optimize.
|
||||
if tcx.sess.opts.cg.link_dead_code != Some(true) {
|
||||
if !tcx.sess.link_dead_code() {
|
||||
let _prof_timer = tcx.prof.generic_activity("cgu_partitioning_internalize_symbols");
|
||||
partitioner.internalize_symbols(tcx, &mut post_inlining, inlining_map);
|
||||
}
|
||||
|
@ -327,7 +327,7 @@ fn collect_and_partition_mono_items<'tcx>(
|
|||
}
|
||||
}
|
||||
None => {
|
||||
if tcx.sess.opts.cg.link_dead_code == Some(true) {
|
||||
if tcx.sess.link_dead_code() {
|
||||
MonoItemCollectionMode::Eager
|
||||
} else {
|
||||
MonoItemCollectionMode::Lazy
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue