Rollup merge of #82218 - rylev:copy-pdbs, r=Mark-Simulacrum
Make sure pdbs are copied along with exe and dlls when bootstrapping This makes it easier to find the pdbs when wanting to debug the compiler on Windows.
This commit is contained in:
commit
01104b5c29
@ -27,7 +27,7 @@ use crate::config::TargetSelection;
|
||||
use crate::dist;
|
||||
use crate::native;
|
||||
use crate::tool::SourceType;
|
||||
use crate::util::{exe, is_dylib, symlink_dir};
|
||||
use crate::util::{exe, is_debug_info, is_dylib, symlink_dir};
|
||||
use crate::{Compiler, DependencyType, GitRepo, Mode};
|
||||
|
||||
#[derive(Debug, PartialOrd, Ord, Copy, Clone, PartialEq, Eq, Hash)]
|
||||
@ -1049,7 +1049,8 @@ impl Step for Assemble {
|
||||
let src_libdir = builder.sysroot_libdir(build_compiler, host);
|
||||
for f in builder.read_dir(&src_libdir) {
|
||||
let filename = f.file_name().into_string().unwrap();
|
||||
if is_dylib(&filename) && !proc_macros.contains(&filename) {
|
||||
if (is_dylib(&filename) || is_debug_info(&filename)) && !proc_macros.contains(&filename)
|
||||
{
|
||||
builder.copy(&f.path(), &rustc_libdir.join(&filename));
|
||||
}
|
||||
}
|
||||
@ -1166,6 +1167,7 @@ pub fn run_cargo(
|
||||
if !(filename.ends_with(".rlib")
|
||||
|| filename.ends_with(".lib")
|
||||
|| filename.ends_with(".a")
|
||||
|| is_debug_info(&filename)
|
||||
|| is_dylib(&filename)
|
||||
|| (is_check && filename.ends_with(".rmeta")))
|
||||
{
|
||||
|
@ -32,6 +32,12 @@ pub fn is_dylib(name: &str) -> bool {
|
||||
name.ends_with(".dylib") || name.ends_with(".so") || name.ends_with(".dll")
|
||||
}
|
||||
|
||||
/// Returns `true` if the file name given looks like a debug info file
|
||||
pub fn is_debug_info(name: &str) -> bool {
|
||||
// FIXME: consider split debug info on other platforms (e.g., Linux, macOS)
|
||||
name.ends_with(".pdb")
|
||||
}
|
||||
|
||||
/// Returns the corresponding relative library directory that the compiler's
|
||||
/// dylibs will be found in.
|
||||
pub fn libdir(target: TargetSelection) -> &'static str {
|
||||
|
Loading…
x
Reference in New Issue
Block a user