mirror of
https://git.yoctoproject.org/poky
synced 2026-09-13 00:49:33 +02:00
rust: Upgrade 1.83.0->1.84.1
Rust stable version updated to 1.84.1.
https://blog.rust-lang.org/2025/01/30/Rust-1.84.1.html
Renamed and modified the below patch to adapt the new version.
rv32-cargo-rustix-0.38.37-fix.patch->rv32-cargo-rustix-0.38.38-fix.patch
Modified the below patches to adapt the new version.
repro-issue-fix-with-cc-crate-hashmap.patch
revert-link-std-statically-in-rustc_driver-feature.patch
Dropped the below patches :
0001-NFC-fix-build-failure-100993.patch
6ee49080e4
revert-Zdual-proc-macros-additional-check.patch
Issue is fixed in rust-master and the fix is backported in the
subsequent patch of the series.
(From OE-Core rev: 4265f668de8c6708cb3a003ad655559031724149)
Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
824f05fe73
commit
6d78fbe5c5
@@ -1,4 +1,4 @@
|
||||
rust: reproducibility issue fix with v1.83
|
||||
rust: reproducibility issue fix with v1.84
|
||||
|
||||
A few crates are using the updated version of the 'cc' crate and this is causing the generated object file names containing a unique hashmap id.
|
||||
By the following changes same hash values will be genarted even for diffrent build paths.
|
||||
@@ -67,49 +67,6 @@ index 07dfb80412..e01b62fa39 100644
|
||||
})?
|
||||
.to_string_lossy();
|
||||
|
||||
+ // Function to find the position of the first occurrence of the target substring
|
||||
+ fn find_target_position(s: &str, targets: &[&str]) -> Option<usize> {
|
||||
+ let mut pos = None;
|
||||
+ for target in targets {
|
||||
+ if let Some(index) = s.rfind(target) {
|
||||
+ //If a target is found and pos is None, set it
|
||||
+ if pos.is_none() || index < pos.unwrap() {
|
||||
+ pos = Some(index);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ pos
|
||||
+ }
|
||||
+
|
||||
+ let filtered_dirname = if let Some(pos) = find_target_position(&dirname, &target_substring) {
|
||||
+ dirname[pos..].to_string() //Keep everything from the target substring onwards
|
||||
+ } else {
|
||||
+ dirname.to_string() //If target substring is not found, keep the original dirname
|
||||
+ };
|
||||
// Hash the dirname. This should prevent conflicts if we have multiple
|
||||
// object files with the same filename in different subfolders.
|
||||
let mut hasher = hash_map::DefaultHasher::new();
|
||||
- hasher.write(dirname.to_string().as_bytes());
|
||||
+ hasher.write(filtered_dirname.as_bytes());
|
||||
let obj = dst
|
||||
.join(format!("{:016x}-{}", hasher.finish(), basename))
|
||||
.with_extension("o");
|
||||
diff --git a/vendor/cc-1.1.23/src/command_helpers.rs b/vendor/cc-1.1.23/src/command_helpers.rs
|
||||
index 07dfb80412..e01b62fa39 100644
|
||||
--- a/vendor/cc-1.1.23/src/command_helpers.rs
|
||||
+++ b/vendor/cc-1.1.23/src/command_helpers.rs
|
||||
@@ -285,6 +285,7 @@ fn wait_on_child(
|
||||
/// and store them in the output Object.
|
||||
pub(crate) fn objects_from_files(files: &[Arc<Path>], dst: &Path) -> Result<Vec<Object>, Error> {
|
||||
let mut objects = Vec::with_capacity(files.len());
|
||||
+ let target_substring = ["rustc"];
|
||||
for file in files {
|
||||
let basename = file
|
||||
.file_name()
|
||||
@@ -305,10 +306,29 @@ pub(crate) fn objects_from_files(files: &[Arc<Path>], dst: &Path) -> Result<Vec<
|
||||
})?
|
||||
.to_string_lossy();
|
||||
|
||||
+ // Function to find the position of the first occurrence of the target substring
|
||||
+ fn find_target_position(s: &str, targets: &[&str]) -> Option<usize> {
|
||||
+ let mut pos = None;
|
||||
@@ -153,11 +110,3 @@ index 8c7be07836..473b5ad39c 100644
|
||||
-{"files":{"CHANGELOG.md":"92aeb6dec3e4b55e3951a4d00f6df20edc51545afca124d983454f7c05e37357","Cargo.toml":"1352b0476c28b89568e740579130ab017ad0f4b546083cf03ff61827d45361f3","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"f1ddbede208a5b78333a25dac0a7598e678e9b601a7d99a791069bddaf180dfe","clippy.toml":"aa7850db4350883c8f373bd0d6b4d19bf3b75f13c1c238e24368c109cb52fb1d","src/command_helpers.rs":"0b54800fe5c89cd102a5f872fe1a843c1a58e026bc4bbc611e207914b8c84dda","src/detect_compiler_family.c":"97ca4b021495611e828becea6187add37414186a16dfedd26c2947cbce6e8b2f","src/lib.rs":"c80c94e82937980f711500cd3289842ab4bc42bcc4efd9febf64729e27410ecc","src/parallel/async_executor.rs":"4ce24435fff6b6555b43fee042c16bd65d4150d0346567f246b9190d85b45983","src/parallel/job_token.rs":"f4ed0a03d89a42bfd5527133d12b267af519b745f3f2b997ed293df15a2641b8","src/parallel/mod.rs":"55fb4c2d15e66677b2ed5ffa6d65ea161bcf1a1e1dc7910ee3bde06f2f67ab14","src/parallel/once_lock.rs":"d13e4cb82d6bca3297ca8671d83a40dd5affd7ac89191d733dd451867181bb02","src/parallel/stderr.rs":"74384d41198740a6fce0877f144262db09fb091225fa8fbfa771314bb11487c6","src/target_info.rs":"f939a570c99d897fdd37cd491a4ee0657e2c7480ec71acbd9cbee48732d4bfbc","src/tempfile.rs":"ebafb5b0e5d08b0706916ed911d4245240e60c3e2d0c9a1630c520842988a2b3","src/tool.rs":"2e6550062e021f2b394388172bbb01e86fe6a94d2395bcb3c85a9e86690da1a9","src/utilities.rs":"a13bb0a351fcef72823485b1b5dc4f514c533fa4feac95deb66ed9e5fbfe7b53","src/windows/com.rs":"a2800ddb81215fff2bf618336f5c4ff8e8bdb746dd18b795873c7304b3f2a5e3","src/windows/find_tools.rs":"dd6b2450909cd8334a2aa2ce856bcc72a9654d92422267d6345d5fabfcbf57c5","src/windows/mod.rs":"34cfa201cfbcac7ccaa3ea5295d3e4200439af3cc5c6433baf81502596040a89","src/windows/registry.rs":"c521b72c825e8095843e73482ffa810ed066ad8bb9f86e6db0c5c143c171aba1","src/windows/setup_config.rs":"754439cbab492afd44c9755abcbec1a41c9b2c358131cee2df13c0e996dbbec8","src/windows/vs_instances.rs":"946527cf8fd32c3472f6a2884dcdec290763101097334c7478f9c24c3950db6b","src/windows/winapi.rs":"250d51c1826d1a2329e9889dd9f058cfce253dbf2a678b076147c6cdb5db046c","src/windows/windows_sys.rs":"e2714c8307bfa083b9745eb0e46cadd7f98d7b88abf45a7637172019324e34b8","src/windows/windows_targets.rs":"5b4648ebc22b028caca9f4b4bf8881fe2d094b7bec217264ba2e6e2c49d1ccee"},"package":"9540e661f81799159abee814118cc139a2004b3a3aa3ea37724a1b66530b90e0"}
|
||||
\ No newline at end of file
|
||||
+{"files":{"CHANGELOG.md":"92aeb6dec3e4b55e3951a4d00f6df20edc51545afca124d983454f7c05e37357","Cargo.toml":"1352b0476c28b89568e740579130ab017ad0f4b546083cf03ff61827d45361f3","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"f1ddbede208a5b78333a25dac0a7598e678e9b601a7d99a791069bddaf180dfe","clippy.toml":"aa7850db4350883c8f373bd0d6b4d19bf3b75f13c1c238e24368c109cb52fb1d","src/command_helpers.rs":"a2ee7ae686b9cb186bebfdd597438251536bcaa9815699c95eab349385b4b949","src/detect_compiler_family.c":"97ca4b021495611e828becea6187add37414186a16dfedd26c2947cbce6e8b2f","src/lib.rs":"c80c94e82937980f711500cd3289842ab4bc42bcc4efd9febf64729e27410ecc","src/parallel/async_executor.rs":"4ce24435fff6b6555b43fee042c16bd65d4150d0346567f246b9190d85b45983","src/parallel/job_token.rs":"f4ed0a03d89a42bfd5527133d12b267af519b745f3f2b997ed293df15a2641b8","src/parallel/mod.rs":"55fb4c2d15e66677b2ed5ffa6d65ea161bcf1a1e1dc7910ee3bde06f2f67ab14","src/parallel/once_lock.rs":"d13e4cb82d6bca3297ca8671d83a40dd5affd7ac89191d733dd451867181bb02","src/parallel/stderr.rs":"74384d41198740a6fce0877f144262db09fb091225fa8fbfa771314bb11487c6","src/target_info.rs":"f939a570c99d897fdd37cd491a4ee0657e2c7480ec71acbd9cbee48732d4bfbc","src/tempfile.rs":"ebafb5b0e5d08b0706916ed911d4245240e60c3e2d0c9a1630c520842988a2b3","src/tool.rs":"2e6550062e021f2b394388172bbb01e86fe6a94d2395bcb3c85a9e86690da1a9","src/utilities.rs":"a13bb0a351fcef72823485b1b5dc4f514c533fa4feac95deb66ed9e5fbfe7b53","src/windows/com.rs":"a2800ddb81215fff2bf618336f5c4ff8e8bdb746dd18b795873c7304b3f2a5e3","src/windows/find_tools.rs":"dd6b2450909cd8334a2aa2ce856bcc72a9654d92422267d6345d5fabfcbf57c5","src/windows/mod.rs":"34cfa201cfbcac7ccaa3ea5295d3e4200439af3cc5c6433baf81502596040a89","src/windows/registry.rs":"c521b72c825e8095843e73482ffa810ed066ad8bb9f86e6db0c5c143c171aba1","src/windows/setup_config.rs":"754439cbab492afd44c9755abcbec1a41c9b2c358131cee2df13c0e996dbbec8","src/windows/vs_instances.rs":"946527cf8fd32c3472f6a2884dcdec290763101097334c7478f9c24c3950db6b","src/windows/winapi.rs":"250d51c1826d1a2329e9889dd9f058cfce253dbf2a678b076147c6cdb5db046c","src/windows/windows_sys.rs":"e2714c8307bfa083b9745eb0e46cadd7f98d7b88abf45a7637172019324e34b8","src/windows/windows_targets.rs":"5b4648ebc22b028caca9f4b4bf8881fe2d094b7bec217264ba2e6e2c49d1ccee"},"package":"9540e661f81799159abee814118cc139a2004b3a3aa3ea37724a1b66530b90e0"}
|
||||
diff --git a/vendor/cc-1.1.23/.cargo-checksum.json b/vendor/cc-1.1.23/.cargo-checksum.json
|
||||
index d834145136..a10eecf785 100644
|
||||
--- a/vendor/cc-1.1.23/.cargo-checksum.json
|
||||
+++ b/vendor/cc-1.1.23/.cargo-checksum.json
|
||||
@@ -1 +1 @@
|
||||
-{"files":{"CHANGELOG.md":"c0125e3e52f1af277dd92935d84992fcff829ecd11a4bad6ac75bced3c68623b","Cargo.toml":"1b08a0bb920345c02a78f49be0a091ac426dbfe1bfa4b853da0c177acda36582","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"f1ddbede208a5b78333a25dac0a7598e678e9b601a7d99a791069bddaf180dfe","clippy.toml":"aa7850db4350883c8f373bd0d6b4d19bf3b75f13c1c238e24368c109cb52fb1d","src/command_helpers.rs":"0b54800fe5c89cd102a5f872fe1a843c1a58e026bc4bbc611e207914b8c84dda","src/detect_compiler_family.c":"97ca4b021495611e828becea6187add37414186a16dfedd26c2947cbce6e8b2f","src/lib.rs":"41f2bc5d9c29a842688dfdbea60241d0efa49229d1cf65406225782f54866d19","src/parallel/async_executor.rs":"4ce24435fff6b6555b43fee042c16bd65d4150d0346567f246b9190d85b45983","src/parallel/job_token.rs":"f4ed0a03d89a42bfd5527133d12b267af519b745f3f2b997ed293df15a2641b8","src/parallel/mod.rs":"55fb4c2d15e66677b2ed5ffa6d65ea161bcf1a1e1dc7910ee3bde06f2f67ab14","src/parallel/once_lock.rs":"d13e4cb82d6bca3297ca8671d83a40dd5affd7ac89191d733dd451867181bb02","src/parallel/stderr.rs":"74384d41198740a6fce0877f144262db09fb091225fa8fbfa771314bb11487c6","src/target_info.rs":"f939a570c99d897fdd37cd491a4ee0657e2c7480ec71acbd9cbee48732d4bfbc","src/tempfile.rs":"ebafb5b0e5d08b0706916ed911d4245240e60c3e2d0c9a1630c520842988a2b3","src/tool.rs":"2e6550062e021f2b394388172bbb01e86fe6a94d2395bcb3c85a9e86690da1a9","src/utilities.rs":"a13bb0a351fcef72823485b1b5dc4f514c533fa4feac95deb66ed9e5fbfe7b53","src/windows/com.rs":"a2800ddb81215fff2bf618336f5c4ff8e8bdb746dd18b795873c7304b3f2a5e3","src/windows/find_tools.rs":"dd6b2450909cd8334a2aa2ce856bcc72a9654d92422267d6345d5fabfcbf57c5","src/windows/mod.rs":"34cfa201cfbcac7ccaa3ea5295d3e4200439af3cc5c6433baf81502596040a89","src/windows/registry.rs":"c521b72c825e8095843e73482ffa810ed066ad8bb9f86e6db0c5c143c171aba1","src/windows/setup_config.rs":"754439cbab492afd44c9755abcbec1a41c9b2c358131cee2df13c0e996dbbec8","src/windows/vs_instances.rs":"946527cf8fd32c3472f6a2884dcdec290763101097334c7478f9c24c3950db6b","src/windows/winapi.rs":"250d51c1826d1a2329e9889dd9f058cfce253dbf2a678b076147c6cdb5db046c","src/windows/windows_sys.rs":"e2714c8307bfa083b9745eb0e46cadd7f98d7b88abf45a7637172019324e34b8","src/windows/windows_targets.rs":"5b4648ebc22b028caca9f4b4bf8881fe2d094b7bec217264ba2e6e2c49d1ccee"},"package":"3bbb537bb4a30b90362caddba8f360c0a56bc13d3a5570028e7197204cb54a17"}
|
||||
\ No newline at end of file
|
||||
+{"files":{"CHANGELOG.md":"c0125e3e52f1af277dd92935d84992fcff829ecd11a4bad6ac75bced3c68623b","Cargo.toml":"1b08a0bb920345c02a78f49be0a091ac426dbfe1bfa4b853da0c177acda36582","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"f1ddbede208a5b78333a25dac0a7598e678e9b601a7d99a791069bddaf180dfe","clippy.toml":"aa7850db4350883c8f373bd0d6b4d19bf3b75f13c1c238e24368c109cb52fb1d","src/command_helpers.rs":"a2ee7ae686b9cb186bebfdd597438251536bcaa9815699c95eab349385b4b949","src/detect_compiler_family.c":"97ca4b021495611e828becea6187add37414186a16dfedd26c2947cbce6e8b2f","src/lib.rs":"41f2bc5d9c29a842688dfdbea60241d0efa49229d1cf65406225782f54866d19","src/parallel/async_executor.rs":"4ce24435fff6b6555b43fee042c16bd65d4150d0346567f246b9190d85b45983","src/parallel/job_token.rs":"f4ed0a03d89a42bfd5527133d12b267af519b745f3f2b997ed293df15a2641b8","src/parallel/mod.rs":"55fb4c2d15e66677b2ed5ffa6d65ea161bcf1a1e1dc7910ee3bde06f2f67ab14","src/parallel/once_lock.rs":"d13e4cb82d6bca3297ca8671d83a40dd5affd7ac89191d733dd451867181bb02","src/parallel/stderr.rs":"74384d41198740a6fce0877f144262db09fb091225fa8fbfa771314bb11487c6","src/target_info.rs":"f939a570c99d897fdd37cd491a4ee0657e2c7480ec71acbd9cbee48732d4bfbc","src/tempfile.rs":"ebafb5b0e5d08b0706916ed911d4245240e60c3e2d0c9a1630c520842988a2b3","src/tool.rs":"2e6550062e021f2b394388172bbb01e86fe6a94d2395bcb3c85a9e86690da1a9","src/utilities.rs":"a13bb0a351fcef72823485b1b5dc4f514c533fa4feac95deb66ed9e5fbfe7b53","src/windows/com.rs":"a2800ddb81215fff2bf618336f5c4ff8e8bdb746dd18b795873c7304b3f2a5e3","src/windows/find_tools.rs":"dd6b2450909cd8334a2aa2ce856bcc72a9654d92422267d6345d5fabfcbf57c5","src/windows/mod.rs":"34cfa201cfbcac7ccaa3ea5295d3e4200439af3cc5c6433baf81502596040a89","src/windows/registry.rs":"c521b72c825e8095843e73482ffa810ed066ad8bb9f86e6db0c5c143c171aba1","src/windows/setup_config.rs":"754439cbab492afd44c9755abcbec1a41c9b2c358131cee2df13c0e996dbbec8","src/windows/vs_instances.rs":"946527cf8fd32c3472f6a2884dcdec290763101097334c7478f9c24c3950db6b","src/windows/winapi.rs":"250d51c1826d1a2329e9889dd9f058cfce253dbf2a678b076147c6cdb5db046c","src/windows/windows_sys.rs":"e2714c8307bfa083b9745eb0e46cadd7f98d7b88abf45a7637172019324e34b8","src/windows/windows_targets.rs":"5b4648ebc22b028caca9f4b4bf8881fe2d094b7bec217264ba2e6e2c49d1ccee"},"package":"3bbb537bb4a30b90362caddba8f360c0a56bc13d3a5570028e7197204cb54a17"}
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
rust: Fix build failure for v1.83 when lib32 enabled
|
||||
|
||||
Because of the following commit ,
|
||||
https://github.com/rust-lang/rust/commit/68034f837a39387e49fc7d7c5b088f5372a1127e
|
||||
when we enable lib32, getting build failure because there is a check for target
|
||||
support for "-Zdual-proc-macros" flag not functioning properly when lib32 is
|
||||
enabled in the build environment. So for now reverting this commit and bring
|
||||
back the previous behavior, where the "-Zdual-proc-macros" flag is always
|
||||
added for building proc macros, regardless of the target architecture's support.
|
||||
This would bypass the check introduced in the patch, allowing the build to
|
||||
proceed without error, even when building for a 64-bit architecture with lib32 enabled.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
|
||||
diff --git a/src/bootstrap/src/core/builder.rs b/src/bootstrap/src/core/builder.rs
|
||||
index 9ac0b0a01f..b1374042fb 100644
|
||||
--- a/src/bootstrap/src/core/builder.rs
|
||||
+++ b/src/bootstrap/src/core/builder.rs
|
||||
@@ -1701,21 +1701,8 @@ impl<'a> Builder<'a> {
|
||||
// Build proc macros both for the host and the target unless proc-macros are not
|
||||
// supported by the target.
|
||||
if target != compiler.host && cmd_kind != Kind::Check {
|
||||
- let error = command(self.rustc(compiler))
|
||||
- .arg("--target")
|
||||
- .arg(target.rustc_target_arg())
|
||||
- .arg("--print=file-names")
|
||||
- .arg("--crate-type=proc-macro")
|
||||
- .arg("-")
|
||||
- .run_capture(self)
|
||||
- .stderr();
|
||||
- let not_supported = error
|
||||
- .lines()
|
||||
- .any(|line| line.contains("unsupported crate type `proc-macro`"));
|
||||
- if !not_supported {
|
||||
- cargo.arg("-Zdual-proc-macros");
|
||||
- rustflags.arg("-Zdual-proc-macros");
|
||||
- }
|
||||
+ cargo.arg("-Zdual-proc-macros");
|
||||
+ rustflags.arg("-Zdual-proc-macros");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -24,13 +24,12 @@ diff --git a/compiler/rustc/src/main.rs b/compiler/rustc/src/main.rs
|
||||
index e9a7397557..29766fc9d8 100644
|
||||
--- a/compiler/rustc/src/main.rs
|
||||
+++ b/compiler/rustc/src/main.rs
|
||||
@@ -1,6 +1,3 @@
|
||||
@@ -1,5 +1,3 @@
|
||||
-// We need this feature as it changes `dylib` linking behavior and allows us to link to `rustc_driver`.
|
||||
-#![feature(rustc_private)]
|
||||
-
|
||||
// A note about jemalloc: rustc uses jemalloc when built for CI and
|
||||
// distribution. The obvious way to do this is with the `#[global_allocator]`
|
||||
// mechanism. However, for complicated reasons (see
|
||||
// Several crates are depended upon but unused so that they are present in the sysroot
|
||||
#![expect(unused_crate_dependencies)]
|
||||
|
||||
diff --git a/compiler/rustc_metadata/src/dependency_format.rs b/compiler/rustc_metadata/src/dependency_format.rs
|
||||
index 39fa23766b..51d86b4009 100644
|
||||
--- a/compiler/rustc_metadata/src/dependency_format.rs
|
||||
@@ -44,10 +43,11 @@ index 39fa23766b..51d86b4009 100644
|
||||
use rustc_hir::def_id::CrateNum;
|
||||
use rustc_middle::bug;
|
||||
use rustc_middle::middle::dependency_format::{Dependencies, DependencyList, Linkage};
|
||||
@@ -162,43 +162,18 @@ fn calculate_type(tcx: TyCtxt<'_>, ty: CrateType) -> DependencyList {
|
||||
@@ -161,44 +161,19 @@ fn calculate_type(tcx: TyCtxt<'_>, ty: CrateType) -> DependencyList {
|
||||
}
|
||||
Linkage::Dynamic | Linkage::IncludedFromDylib => {}
|
||||
}
|
||||
|
||||
-
|
||||
- let all_dylibs = || {
|
||||
- tcx.crates(()).iter().filter(|&&cnum| {
|
||||
- !tcx.dep_kind(cnum).macros_only() && tcx.used_crate_source(cnum).dylib.is_some()
|
||||
@@ -56,7 +56,7 @@ index 39fa23766b..51d86b4009 100644
|
||||
-
|
||||
- let mut upstream_in_dylibs = FxHashSet::default();
|
||||
-
|
||||
- if tcx.features().rustc_private {
|
||||
- if tcx.features().rustc_private() {
|
||||
- // We need this to prevent users of `rustc_driver` from linking dynamically to `std`
|
||||
- // which does not work as `std` is also statically linked into `rustc_driver`.
|
||||
-
|
||||
@@ -85,7 +85,7 @@ index 39fa23766b..51d86b4009 100644
|
||||
+ if tcx.dep_kind(cnum).macros_only() {
|
||||
continue;
|
||||
}
|
||||
-
|
||||
|
||||
let name = tcx.crate_name(cnum);
|
||||
+ let src = tcx.used_crate_source(cnum);
|
||||
+ if src.dylib.is_some() {
|
||||
@@ -139,11 +139,11 @@ index d04e2fbeb7..011c289d93 100644
|
||||
if let Some(crate_name) = crate_name {
|
||||
if let Some(target) = env::var_os("RUSTC_TIME") {
|
||||
if target == "all"
|
||||
diff --git a/src/bootstrap/src/core/builder.rs b/src/bootstrap/src/core/builder.rs
|
||||
index ff0d1f3a72..b2c9602e57 100644
|
||||
--- a/src/bootstrap/src/core/builder.rs
|
||||
+++ b/src/bootstrap/src/core/builder.rs
|
||||
@@ -2201,7 +2201,7 @@ impl<'a> Builder<'a> {
|
||||
diff --git a/src/bootstrap/src/core/builder/cargo.rs b/src/bootstrap/src/core/builder/cargo.rs
|
||||
index 0688a1d689..066e6bf53f 100644
|
||||
--- a/src/bootstrap/src/core/builder/cargo.rs
|
||||
+++ b/src/bootstrap/src/core/builder/cargo.rs
|
||||
@@ -1146,7 +1146,7 @@ impl Builder<'_> {
|
||||
// When we build Rust dylibs they're all intended for intermediate
|
||||
// usage, so make sure we pass the -Cprefer-dynamic flag instead of
|
||||
// linking all deps statically into the dylib.
|
||||
@@ -200,13 +200,13 @@ diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/c
|
||||
index 27bbc8bd8f..a6fc4df2eb 100644
|
||||
--- a/src/bootstrap/src/core/build_steps/compile.rs
|
||||
+++ b/src/bootstrap/src/core/build_steps/compile.rs
|
||||
@@ -1934,24 +1934,8 @@ impl Step for Assemble {
|
||||
let src_libdir = builder.sysroot_libdir(build_compiler, host);
|
||||
@@ -1940,24 +1940,8 @@ impl Step for Assemble {
|
||||
let src_libdir = builder.sysroot_target_libdir(build_compiler, host);
|
||||
for f in builder.read_dir(&src_libdir) {
|
||||
let filename = f.file_name().into_string().unwrap();
|
||||
-
|
||||
- let is_proc_macro = proc_macros.contains(&filename);
|
||||
- let is_dylib_or_debug = is_dylib(&filename) || is_debug_info(&filename);
|
||||
- let is_dylib_or_debug = is_dylib(&f.path()) || is_debug_info(&filename);
|
||||
-
|
||||
- // If we link statically to stdlib, do not copy the libstd dynamic library file
|
||||
- // FIXME: Also do this for Windows once incremental post-optimization stage0 tests
|
||||
@@ -214,7 +214,7 @@ index 27bbc8bd8f..a6fc4df2eb 100644
|
||||
- let can_be_rustc_dynamic_dep = if builder
|
||||
- .link_std_into_rustc_driver(target_compiler.host)
|
||||
- && !target_compiler.host.is_windows()
|
||||
+ if (is_dylib(&filename) || is_debug_info(&filename)) && !proc_macros.contains(&filename)
|
||||
+ if (is_dylib(Path::new(&filename)) || is_debug_info(&filename)) && !proc_macros.contains(&filename)
|
||||
{
|
||||
- let is_std = filename.starts_with("std-") || filename.starts_with("libstd-");
|
||||
- !is_std
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user