mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 14:55:26 +00:00
Rollup merge of #106904 - khuey:preserve_debuginfo_for_rlibs, r=davidtwco
Preserve split DWARF files when building archives. r? ```@davidtwco```
This commit is contained in:
commit
1b442befca
@ -1301,12 +1301,6 @@ fn preserve_objects_for_their_debuginfo(sess: &Session) -> (bool, bool) {
|
||||
return (false, false);
|
||||
}
|
||||
|
||||
// If we're only producing artifacts that are archives, no need to preserve
|
||||
// the objects as they're losslessly contained inside the archives.
|
||||
if sess.crate_types().iter().all(|&x| x.is_archive()) {
|
||||
return (false, false);
|
||||
}
|
||||
|
||||
match (sess.split_debuginfo(), sess.opts.unstable_opts.split_dwarf_kind) {
|
||||
// If there is no split debuginfo then do not preserve objects.
|
||||
(SplitDebuginfo::Off, _) => (false, false),
|
||||
|
@ -864,18 +864,6 @@ pub enum CrateType {
|
||||
ProcMacro,
|
||||
}
|
||||
|
||||
impl CrateType {
|
||||
/// When generated, is this crate type an archive?
|
||||
pub fn is_archive(&self) -> bool {
|
||||
match *self {
|
||||
CrateType::Rlib | CrateType::Staticlib => true,
|
||||
CrateType::Executable | CrateType::Dylib | CrateType::Cdylib | CrateType::ProcMacro => {
|
||||
false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Hash, Debug, PartialEq, Eq)]
|
||||
pub enum Passes {
|
||||
Some(Vec<String>),
|
||||
|
@ -254,12 +254,12 @@ unpacked-remapped-single:
|
||||
$(RUSTC) $(UNSTABLEOPTS) -C split-debuginfo=unpacked -C debuginfo=2 \
|
||||
-Z split-dwarf-kind=single --remap-path-prefix $(TMPDIR)=/a foo.rs -g
|
||||
objdump -Wi $(TMPDIR)/foo | grep DW_AT_GNU_dwo_name | (! grep $(TMPDIR)) || exit 1
|
||||
ls $(TMPDIR)/*.o
|
||||
rm $(TMPDIR)/*.o
|
||||
ls $(TMPDIR)/*.dwo && exit 1 || exit 0
|
||||
ls $(TMPDIR)/*.dwp && exit 1 || exit 0
|
||||
rm $(TMPDIR)/$(call BIN,foo)
|
||||
|
||||
unpacked-crosscrate: packed-crosscrate-split packed-crosscrate-single
|
||||
unpacked-crosscrate: unpacked-crosscrate-split unpacked-crosscrate-single
|
||||
|
||||
# - Debuginfo in `.dwo` files
|
||||
# - (bar) `.rlib` file created, contains `.dwo`
|
||||
|
Loading…
Reference in New Issue
Block a user