only error with +whole-archive,+bundle for rlibs
Fixes https://github.com/rust-lang/rust/issues/110912
Checking `flavor == RlibFlavor::Normal` was accidentally lost in
601fc8b36b
https://github.com/rust-lang/rust/pull/105601
That caused combining +whole-archive and +bundle link modifiers on
non-rlib crates to fail with a confusing error message saying that
combination is unstable for rlibs. In particular, this caused the
build to fail when +whole-archive was used on staticlib crates, even
though +whole-archive effectively does nothing on non-bin crates because
the final linker invocation is left to an external build system.
This commit is contained in:
parent
901fdb3b04
commit
6a89e9451f
1 changed files with 4 additions and 1 deletions
|
@ -349,7 +349,10 @@ fn link_rlib<'a>(
|
|||
let NativeLibKind::Static { bundle: None | Some(true), whole_archive } = lib.kind else {
|
||||
continue;
|
||||
};
|
||||
if whole_archive == Some(true) && !codegen_results.crate_info.feature_packed_bundled_libs {
|
||||
if whole_archive == Some(true)
|
||||
&& flavor == RlibFlavor::Normal
|
||||
&& !codegen_results.crate_info.feature_packed_bundled_libs
|
||||
{
|
||||
sess.emit_err(errors::IncompatibleLinkingModifiers);
|
||||
}
|
||||
if flavor == RlibFlavor::Normal && let Some(filename) = lib.filename {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue