Skip to content

Commit

Permalink
Rollup merge of #106904 - khuey:preserve_debuginfo_for_rlibs, r=david…
Browse files Browse the repository at this point in the history
…twco

Preserve split DWARF files when building archives.

r? ```@davidtwco```
  • Loading branch information
matthiaskrgr committed Jan 26, 2023
2 parents 40fda7b + 2b99b9f commit 1b442be
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 20 deletions.
6 changes: 0 additions & 6 deletions compiler/rustc_codegen_ssa/src/back/link.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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),
Expand Down
12 changes: 0 additions & 12 deletions compiler/rustc_session/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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>),
Expand Down
4 changes: 2 additions & 2 deletions tests/run-make-fulldeps/split-debuginfo/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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`
Expand Down

0 comments on commit 1b442be

Please sign in to comment.