Auto merge of #128400 - petrochenkov:nowhole3, r=bjorn3
linker: Remove the "`--whole-archive` in test mode" backcompat hack Fixes https://github.com/rust-lang/rust/issues/116910.
This commit is contained in:
commit
04dff01740
2 changed files with 2 additions and 13 deletions
|
@ -2646,16 +2646,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.
|
||||
|
|
|
@ -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`
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue