Make import libraries compatible with wholearchive · rust-lang/rust@d4a14b1 (original) (raw)

File tree

3 files changed

lines changed

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() });