summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_codegen_llvm/src/back/write.rs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/back/write.rs')
-rw-r--r--compiler/rustc_codegen_llvm/src/back/write.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_llvm/src/back/write.rs b/compiler/rustc_codegen_llvm/src/back/write.rs
index c778a6e01..9d5204034 100644
--- a/compiler/rustc_codegen_llvm/src/back/write.rs
+++ b/compiler/rustc_codegen_llvm/src/back/write.rs
@@ -259,9 +259,17 @@ pub fn target_machine_factory(
};
let debuginfo_compression = SmallCStr::new(&debuginfo_compression);
+ let should_prefer_remapped_for_split_debuginfo_paths =
+ sess.should_prefer_remapped_for_split_debuginfo_paths();
+
Arc::new(move |config: TargetMachineFactoryConfig| {
let path_to_cstring_helper = |path: Option<PathBuf>| -> CString {
- let path = path_mapping.map_prefix(path.unwrap_or_default()).0;
+ let path = path.unwrap_or_default();
+ let path = if should_prefer_remapped_for_split_debuginfo_paths {
+ path_mapping.map_prefix(path).0
+ } else {
+ path.into()
+ };
CString::new(path.to_str().unwrap()).unwrap()
};