diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2024-07-30 17:12:17 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2024-07-30 17:36:04 +0300 |
| commit | 3d2d7cfe18aa19c4827d264cd4259125ed922224 (patch) | |
| tree | 62950f7dfa25ffbbeffc9f53897fc4e6854423ad | |
| parent | 1ddedbaa5919b7b3e70d984660e21e844c615c97 (diff) | |
| download | rust-3d2d7cfe18aa19c4827d264cd4259125ed922224.tar.gz rust-3d2d7cfe18aa19c4827d264cd4259125ed922224.zip | |
linker: Remove the "`--whole-archive` in test mode" backcompat hack
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/back/link.rs | 11 | ||||
| -rw-r--r-- | src/doc/rustc/src/command-line-arguments.md | 4 |
2 files changed, 2 insertions, 13 deletions
diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codegen_ssa/src/back/link.rs index 55662bfc2cf..f04a3f57d48 100644 --- a/compiler/rustc_codegen_ssa/src/back/link.rs +++ b/compiler/rustc_codegen_ssa/src/back/link.rs @@ -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. diff --git a/src/doc/rustc/src/command-line-arguments.md b/src/doc/rustc/src/command-line-arguments.md index 72ab8ab5ce9..fa23e3e414d 100644 --- a/src/doc/rustc/src/command-line-arguments.md +++ b/src/doc/rustc/src/command-line-arguments.md @@ -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` |
