Make import libraries compatible with wholearchive · rust-lang/rust@d4a14b1 (original) (raw)
File tree
3 files changed
lines changed
- compiler/rustc_codegen_ssa
3 files changed
lines changed
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -205,9 +205,9 @@ dependencies = [ | ||
205 | 205 | |
206 | 206 | [[package]] |
207 | 207 | name = "ar_archive_writer" |
208 | -version = "0.4.0" | |
208 | +version = "0.4.1" | |
209 | 209 | source = "registry+https://github.com/rust-lang/crates.io-index" |
210 | -checksum = "de11a9d32db3327f981143bdf699ade4d637c6887b13b97e6e91a9154666963c" | |
210 | +checksum = "540d4912d1c71a3485a18d76ec96c526abf6c76b89b4f76d74441bb572d169c1" | |
211 | 211 | dependencies = [ |
212 | 212 | "object 0.36.2", |
213 | 213 | ] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -5,7 +5,7 @@ edition = "2021" | ||
5 | 5 | |
6 | 6 | [dependencies] |
7 | 7 | # tidy-alphabetical-start |
8 | -ar_archive_writer = "0.4.0" | |
8 | +ar_archive_writer = "0.4.1" | |
9 | 9 | arrayvec = { version = "0.7", default-features = false } |
10 | 10 | bitflags = "2.4.1" |
11 | 11 | cc = "1.0.90" |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -108,7 +108,11 @@ pub trait ArchiveBuilderBuilder { | ||
108 | 108 | &exports, |
109 | 109 | machine, |
110 | 110 | !sess.target.is_like_msvc, |
111 | -/*comdat=*/ false, | |
111 | +// Enable compatibility with MSVC's `/WHOLEARCHIVE` flag. | |
112 | +// Without this flag a duplicate symbol error would be emitted | |
113 | +// when linking a rust staticlib using `/WHOLEARCHIVE`. | |
114 | +// See #129020 | |
115 | +true, | |
112 | 116 | ) { |
113 | 117 | sess.dcx() |
114 | 118 | .emit_fatal(ErrorCreatingImportLibrary { lib_name, error: error.to_string() }); |