Skip to content

Commit

Permalink
Auto merge of rust-lang#128400 - petrochenkov:nowhole3, r=<try>
Browse files Browse the repository at this point in the history
linker: Remove the "`--whole-archive` in test mode" backcompat hack

Fixes rust-lang#116910.
  • Loading branch information
bors committed Jul 30, 2024
2 parents 1ddedba + 3d2d7cf commit 33f1d8b
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 13 deletions.
11 changes: 1 addition & 10 deletions compiler/rustc_codegen_ssa/src/back/link.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2568,16 +2568,7 @@ fn add_native_libs_from_crate(
NativeLibKind::Static { bundle, whole_archive } => {
if link_static {
let bundle = bundle.unwrap_or(true);
let whole_archive = whole_archive == Some(true)
// Backward compatibility case: this can be a rlib (so `+whole-archive`
// cannot be added explicitly if necessary, see the error in `fn link_rlib`)
// compiled as an executable due to `--test`. Use whole-archive implicitly,
// like before the introduction of native lib modifiers.
|| (whole_archive == None
&& bundle
&& cnum == LOCAL_CRATE
&& sess.is_test_crate());

let whole_archive = whole_archive == Some(true);
if bundle && cnum != LOCAL_CRATE {
if let Some(filename) = lib.filename {
// If rlib contains native libs as archives, they are unpacked to tmpdir.
Expand Down
4 changes: 1 addition & 3 deletions src/doc/rustc/src/command-line-arguments.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,7 @@ This modifier translates to `--whole-archive` for `ld`-like linkers,
to `/WHOLEARCHIVE` for `link.exe`, and to `-force_load` for `ld64`.
The modifier does nothing for linkers that don't support it.

The default for this modifier is `-whole-archive`. \
NOTE: The default may currently be different in some cases for backward compatibility,
but it is not guaranteed. If you need whole archive semantics use `+whole-archive` explicitly.
The default for this modifier is `-whole-archive`.

### Linking modifiers: `bundle`

Expand Down

0 comments on commit 33f1d8b

Please sign in to comment.