Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error building libstd: with_hasher cannot be (indirectly) exposed to stable #133857

Closed
xobs opened this issue Dec 4, 2024 · 12 comments
Closed

Error building libstd: with_hasher cannot be (indirectly) exposed to stable #133857

xobs opened this issue Dec 4, 2024 · 12 comments
Labels
C-discussion Category: Discussion or questions that doesn't represent real issues.

Comments

@xobs
Copy link
Contributor

xobs commented Dec 4, 2024

As of yesterday's (2024-12-03) release of Rust, I am unable to build libstd for Xous:

$ RUST_COMPILER_RT_ROOT="$(pwd)/src/llvm-project/compiler-rt" \
        cargo +nightly \
        build --target riscv32imac-unknown-xous-elf 
        --manifest-path "library/sysroot/Cargo.toml"
   Compiling std v0.0.0 (/opt/Xous/rust-nightly/rust/library/std)
warning: dropping unsupported crate type `dylib` for target `riscv32imac-unknown-xous-elf`

error: `hashbrown::HashMap::<K, V, S>::with_hasher` cannot be (indirectly) exposed to stable
   --> std/src/collections/hash/map.rs:304:25
    |
304 |         HashMap { base: base::HashMap::with_hasher(hash_builder) }
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: either mark the callee as `#[rustc_const_stable_indirect]`, or the caller as `#[rustc_const_unstable]`

error: `hashbrown::HashSet::<T, S>::with_hasher` cannot be (indirectly) exposed to stable
   --> std/src/collections/hash/set.rs:396:25
    |
396 |         HashSet { base: base::HashSet::with_hasher(hasher) }
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: either mark the callee as `#[rustc_const_stable_indirect]`, or the caller as `#[rustc_const_unstable]`

warning: `std` (lib) generated 1 warning
error: could not compile `std` (lib) due to 2 previous errors; 1 warning emitted
$

Earlier versions did not have this error. Usually when this happens it's something Xous-specific, but in this case it looks like it's entirely within std::collections::hash.

Meta

rustc --version --verbose:

rustc 1.85.0-nightly (c44b3d50f 2024-12-03)
binary: rustc
commit-hash: c44b3d50fea96a3e0417e8264c16ea21a0a3fca2
commit-date: 2024-12-03
host: x86_64-unknown-linux-gnu
release: 1.85.0-nightly
LLVM version: 19.1.4
@xobs xobs added the C-bug Category: This is a bug. label Dec 4, 2024
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Dec 4, 2024
@xobs
Copy link
Contributor Author

xobs commented Dec 4, 2024

This also fails if I build it for the host target:

$ RUST_COMPILER_RT_ROOT="$(pwd)/src/llvm-project/compiler-rt" cargo +nightly build  --manifest-path "library/sysroot/Cargo.toml"
   Compiling compiler_builtins v0.1.138
   Compiling core v0.0.0 (/opt/Xous/rust-nightly/rust/library/core)
   Compiling libc v0.2.167
   Compiling std v0.0.0 (/opt/Xous/rust-nightly/rust/library/std)
   Compiling rustc-std-workspace-core v1.99.0 (/opt/Xous/rust-nightly/rust/library/rustc-std-workspace-core)
   Compiling alloc v0.0.0 (/opt/Xous/rust-nightly/rust/library/alloc)
   Compiling cfg-if v1.0.0
   Compiling rustc-demangle v0.1.24
   Compiling unwind v0.0.0 (/opt/Xous/rust-nightly/rust/library/unwind)
   Compiling rustc-std-workspace-alloc v1.99.0 (/opt/Xous/rust-nightly/rust/library/rustc-std-workspace-alloc)
   Compiling panic_unwind v0.0.0 (/opt/Xous/rust-nightly/rust/library/panic_unwind)
   Compiling panic_abort v0.0.0 (/opt/Xous/rust-nightly/rust/library/panic_abort)
   Compiling hashbrown v0.15.2
   Compiling std_detect v0.1.5 (/opt/Xous/rust-nightly/rust/library/stdarch/crates/std_detect)
error: `hashbrown::HashMap::<K, V, S>::with_hasher` cannot be (indirectly) exposed to stable
   --> std/src/collections/hash/map.rs:304:25
    |
304 |         HashMap { base: base::HashMap::with_hasher(hash_builder) }
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: either mark the callee as `#[rustc_const_stable_indirect]`, or the caller as `#[rustc_const_unstable]`

error: `hashbrown::HashSet::<T, S>::with_hasher` cannot be (indirectly) exposed to stable
   --> std/src/collections/hash/set.rs:396:25
    |
396 |         HashSet { base: base::HashSet::with_hasher(hasher) }
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: either mark the callee as `#[rustc_const_stable_indirect]`, or the caller as `#[rustc_const_unstable]`

error: could not compile `std` (lib) due to 2 previous errors
$

@bjorn3
Copy link
Member

bjorn3 commented Dec 4, 2024

Just to make sure: You are building the standard library associated with the version of rustc with which you are building it?

@xobs
Copy link
Contributor Author

xobs commented Dec 4, 2024

Yes, that's what I'm doing:

user@ubuntu:/opt/Xous/rust-nightly/rust$ rustc +nightly --version
rustc 1.85.0-nightly (c44b3d50f 2024-12-03)
user@ubuntu:/opt/Xous/rust-nightly/rust$ git checkout c44b3d50f
HEAD is now at c44b3d50fea Auto merge of #133803 - matthiaskrgr:rollup-8ag5ncy, r=matthiaskrgr
user@ubuntu:/opt/Xous/rust-nightly/rust$ RUST_COMPILER_RT_ROOT="$(pwd)/src/llvm-project/compiler-rt" cargo +nightly build  --manifest-path "library/sysroot/Cargo.toml"
   Compiling std v0.0.0 (/opt/Xous/rust-nightly/rust/library/std)
error: `hashbrown::HashMap::<K, V, S>::with_hasher` cannot be (indirectly) exposed to stable
   --> std/src/collections/hash/map.rs:304:25
    |
304 |         HashMap { base: base::HashMap::with_hasher(hash_builder) }
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: either mark the callee as `#[rustc_const_stable_indirect]`, or the caller as `#[rustc_const_unstable]`

error: `hashbrown::HashSet::<T, S>::with_hasher` cannot be (indirectly) exposed to stable
   --> std/src/collections/hash/set.rs:396:25
    |
396 |         HashSet { base: base::HashSet::with_hasher(hasher) }
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: either mark the callee as `#[rustc_const_stable_indirect]`, or the caller as `#[rustc_const_unstable]`

error: could not compile `std` (lib) due to 2 previous errors
user@ubuntu:/opt/Xous/rust-nightly/rust$

@bjorn3
Copy link
Member

bjorn3 commented Dec 4, 2024

Does it work if you add RUSTFLAGS="-Zforce-unstable-if-unmarked"? (Even if it doesn't fix this particular error, you should still pass that flag when building the standard library to ensure dependencies of the standard library can't be accessed by user code without #![feature(rustc_private)].)

@xobs
Copy link
Contributor Author

xobs commented Dec 5, 2024

Yes, that does solve the issue, thank you. I'll add it to future builds to ensure this doesn't happen again.

However, does this mean that with_hasher() is missing an "unstable" marker, which was caught by this?

@jieyouxu jieyouxu added C-discussion Category: Discussion or questions that doesn't represent real issues. and removed C-bug Category: This is a bug. needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. labels Dec 5, 2024
@bjorn3
Copy link
Member

bjorn3 commented Dec 5, 2024

base::HashSet and base::HashMap are coming from the hashbrown crate which can't mark anything as unstable as it can be compiled on stable too. It isn't necessary however as it is never directly re-exported by libstd (the code where the error shows up is a public wrapper around hashbrown) and -Zforce-unstable-if-unmarked prevents accessing libstd's hashbrown dependency through extern crate hashbrown;.

@xobs
Copy link
Contributor Author

xobs commented Dec 5, 2024

In that case, is there no error here? Curious how it was fine for years and it just became a problem.

If it's working as expected then I can close this issue.

@bjorn3
Copy link
Member

bjorn3 commented Dec 5, 2024

In most cases you can call a function without a stability marker from a #[stable] or #[unstable] function. For const functions however we explicitly check that if the caller is #[stable] it only calls const functions which have been marked as allowing to be called directly or indirectly through stable functions to prevent accidentally exposing functionality to const fn's for which we haven't yet worked out the full implications (or for which we know it would cause problems) The exact way this gating is done has somewhat recently been reworked. Before this rework it likely accidentally was possible to call const functions without a stability marker and now it isn't anymore.

tl;dr: This is now working as expected and accidentally worked previously.

@bjorn3 bjorn3 closed this as completed Dec 5, 2024
@bjorn3
Copy link
Member

bjorn3 commented Dec 8, 2024

Looks like #133670 may make it work again without -Zforce-unstable-if-unmarked. That PR will be part of rust 1.85 which will be released February 20th. You should still use -Zforce-unstable-if-unmarked to ensure that user code can't access the dependencies of the standard library though.

@Yashinde145
Copy link

Hi @bjorn3, thank you for the above helpful pointers.
Recently, I also came across the with_hasher() error in rust v1.85 and following observations were made:

  1. The hashbrown crate version update(in bump hashbrown version #133670) to 0.15.2 alone doesn't work.
  2. We still need to pass RUSTFLAGS="-Zforce-unstable-if-unmarked" to fix that error.

But, after that I see the following failure when cross-compiling with poky for rust 1.85:
running cmd: python3 src/bootstrap/bootstrap.py install --target x86_64-poky-linux-gnu

| finding compilers
| CC_x86_64-unknown-linux-gnu = "/home/poky/build/tmp/work/core2-64-poky-linux/rust/1.85.0/wrapper/build-rust-cc"
| CFLAGS_x86_64-unknown-linux-gnu = ["-isystem/home/poky/build/tmp/work/core2-64-poky-linux/rust/1.85.0/recipe-sysroot-native/usr/include", "-pipe"]
| CXX_x86_64-unknown-linux-gnu = "/home/poky/build/tmp/work/core2-64-poky-linux/rust/1.85.0/wrapper/build-rust-cxx"
| CXXFLAGS_x86_64-unknown-linux-gnu = ["-isystem/home/poky/build/tmp/work/core2-64-poky-linux/rust/1.85.0/recipe-sysroot-native/usr/include", "-pipe"]
| AR_x86_64-unknown-linux-gnu = "x86_64-poky-linux-gcc-ar"
| 
| 
| error occurred: unknown target `x86_64-poky-linux-gnu`

Earlier versions didn't have this error. Does passing the unstable flag causes this issue?
How do I fix this error for unknown target?

@bjorn3
Copy link
Member

bjorn3 commented Mar 13, 2025

That is an unrelated error. A bunch of versions of the cc crate hard coded the list of supported targets, which wouldn't include the x86_64-poky-linux-gnu target that you added. Try backporting #137460.

@Yashinde145
Copy link

Oh, I see the issue was caused by pre-generated static list of targets in cc crate. Downgrading the bootstrap cc crate version worked.
Thank you for the quick response!

brainhoard-github pushed a commit to distro-core-curated-mirrors/poky-contrib that referenced this issue Mar 27, 2025
Some of the major changes with v1.85.0 are as follows:

- Update LIC_FILES_CHKSUM in libstd-rs and rust recipes.

- Pass '-Zforce-unstable-if-unmarked' to RUSTFLAGS in libstd-rs.bb
  to prevent user from accessing libstd's hashbrown dependency
  through 'hashbrown' crate.

  Fixes:
  error: `hashbrown::HashMap::<K, V, S>::with_hasher` cannot be (indirectly) exposed to stable
     --> std/src/collections/hash/map.rs:304:25

  error: `hashbrown::HashSet::<T, S>::with_hasher` cannot be (indirectly) exposed to stable
     --> std/src/collections/hash/set.rs:396:25

  rust-lang/rust#133857 (comment)

- Downgrade bootstrap cc version causing bootstrap to fail
  on custom targets. This is merged in v1.85.1 can be dropped
  when upgraded to it.

  rust-lang/rust@e4ca11f

- Explicitly set float ABI for all ARM 32 bits targets.
  A check was implemented to verify 'llvm_floatabi' in target config
  json file which yields the following error if not set.
  Set corresponding 'llvm_floatabi' values for them.

  Fixes:
  'error: Error loading target specification: ARM targets must
          specify their float ABI.'

  rust-lang/rust@a51fefc

- Rust v1.85.0 tarball doesn't ship gcc tree.
  Drop the unpack:append() which removed it and prevented the bloat.

  rust-lang/rust@13c3f9b

- Drop backported "fix-tidy-check-failure.patch" since it's merged with v1.85.0.

- Adapt the patch changes with v1.85.0:
  repro-issue-fix-with-cc-crate-hashmap.patch
  revert-link-std-statically-in-rustc_driver-feature.patch
  rust-oe-selftest.patch
  rv32-cargo-rustix-0.38.40-fix.patch

Release notes: https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
halstead pushed a commit to yoctoproject/poky that referenced this issue Mar 28, 2025
Rust stable version updated to 1.85.0
https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html

Some of the major updates:

- Update LIC_FILES_CHKSUM in libstd-rs and rust recipes.

- Pass '-Zforce-unstable-if-unmarked' to RUSTFLAGS in libstd-rs.bb
Fix: rust-lang/rust#133857 (comment)

- Downgrade bootstrap cc version causing bootstrap to fail on custom targets. (Backported from v1.85.1)
Fix: rust-lang/rust@e4ca11f

- Explicitly set float ABI for all ARM 32 bits targets.
Fix: rust-lang/rust@a51fefc

- Rust v1.85.0 tarball doesn't ship gcc tree. Drop the unpack:append() which removed it and prevented the bloat.
Fix: rust-lang/rust@13c3f9b

Adapted the patch changes with v1.85.0:
  repro-issue-fix-with-cc-crate-hashmap.patch
  revert-link-std-statically-in-rustc_driver-feature.patch
  rust-oe-selftest.patch
  rv32-cargo-rustix-0.38.40-fix.patch

Dropped patches:
  fix-tidy-check-failure.patch since it's merged with v1.85.0.

(From OE-Core rev: f9c206acd89da3743167c4e5405ee4bef493d4f2)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead pushed a commit to openembedded/openembedded-core that referenced this issue Mar 28, 2025
Rust stable version updated to 1.85.0
https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html

Some of the major updates:

- Update LIC_FILES_CHKSUM in libstd-rs and rust recipes.

- Pass '-Zforce-unstable-if-unmarked' to RUSTFLAGS in libstd-rs.bb
Fix: rust-lang/rust#133857 (comment)

- Downgrade bootstrap cc version causing bootstrap to fail on custom targets. (Backported from v1.85.1)
Fix: rust-lang/rust@e4ca11f

- Explicitly set float ABI for all ARM 32 bits targets.
Fix: rust-lang/rust@a51fefc

- Rust v1.85.0 tarball doesn't ship gcc tree. Drop the unpack:append() which removed it and prevented the bloat.
Fix: rust-lang/rust@13c3f9b

Adapted the patch changes with v1.85.0:
  repro-issue-fix-with-cc-crate-hashmap.patch
  revert-link-std-statically-in-rustc_driver-feature.patch
  rust-oe-selftest.patch
  rv32-cargo-rustix-0.38.40-fix.patch

Dropped patches:
  fix-tidy-check-failure.patch since it's merged with v1.85.0.

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead pushed a commit to yoctoproject/poky that referenced this issue Mar 28, 2025
Rust stable version updated to 1.85.0
https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html

Some of the major updates:

- Update LIC_FILES_CHKSUM in libstd-rs and rust recipes.

- Pass '-Zforce-unstable-if-unmarked' to RUSTFLAGS in libstd-rs.bb
Fix: rust-lang/rust#133857 (comment)

- Downgrade bootstrap cc version causing bootstrap to fail on custom targets. (Backported from v1.85.1)
Fix: rust-lang/rust@e4ca11f

- Explicitly set float ABI for all ARM 32 bits targets.
Fix: rust-lang/rust@a51fefc

- Rust v1.85.0 tarball doesn't ship gcc tree. Drop the unpack:append() which removed it and prevented the bloat.
Fix: rust-lang/rust@13c3f9b

Adapted the patch changes with v1.85.0:
  repro-issue-fix-with-cc-crate-hashmap.patch
  revert-link-std-statically-in-rustc_driver-feature.patch
  rust-oe-selftest.patch
  rv32-cargo-rustix-0.38.40-fix.patch

Dropped patches:
  fix-tidy-check-failure.patch since it's merged with v1.85.0.

(From OE-Core rev: f9c206acd89da3743167c4e5405ee4bef493d4f2)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead pushed a commit to yoctoproject/poky that referenced this issue Mar 28, 2025
Rust stable version updated to 1.85.0
https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html

Some of the major updates:

- Update LIC_FILES_CHKSUM in libstd-rs and rust recipes.

- Pass '-Zforce-unstable-if-unmarked' to RUSTFLAGS in libstd-rs.bb
Fix: rust-lang/rust#133857 (comment)

- Downgrade bootstrap cc version causing bootstrap to fail on custom targets. (Backported from v1.85.1)
Fix: rust-lang/rust@e4ca11f

- Explicitly set float ABI for all ARM 32 bits targets.
Fix: rust-lang/rust@a51fefc

- Rust v1.85.0 tarball doesn't ship gcc tree. Drop the unpack:append() which removed it and prevented the bloat.
Fix: rust-lang/rust@13c3f9b

Adapted the patch changes with v1.85.0:
  repro-issue-fix-with-cc-crate-hashmap.patch
  revert-link-std-statically-in-rustc_driver-feature.patch
  rust-oe-selftest.patch
  rv32-cargo-rustix-0.38.40-fix.patch

Dropped patches:
  fix-tidy-check-failure.patch since it's merged with v1.85.0.

(From OE-Core rev: 8fdc31b150588f14354b7c3d196e2544d5ea2df3)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead pushed a commit to openembedded/openembedded-core that referenced this issue Mar 28, 2025
Rust stable version updated to 1.85.0
https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html

Some of the major updates:

- Update LIC_FILES_CHKSUM in libstd-rs and rust recipes.

- Pass '-Zforce-unstable-if-unmarked' to RUSTFLAGS in libstd-rs.bb
Fix: rust-lang/rust#133857 (comment)

- Downgrade bootstrap cc version causing bootstrap to fail on custom targets. (Backported from v1.85.1)
Fix: rust-lang/rust@e4ca11f

- Explicitly set float ABI for all ARM 32 bits targets.
Fix: rust-lang/rust@a51fefc

- Rust v1.85.0 tarball doesn't ship gcc tree. Drop the unpack:append() which removed it and prevented the bloat.
Fix: rust-lang/rust@13c3f9b

Adapted the patch changes with v1.85.0:
  repro-issue-fix-with-cc-crate-hashmap.patch
  revert-link-std-statically-in-rustc_driver-feature.patch
  rust-oe-selftest.patch
  rv32-cargo-rustix-0.38.40-fix.patch

Dropped patches:
  fix-tidy-check-failure.patch since it's merged with v1.85.0.

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead pushed a commit to yoctoproject/poky that referenced this issue Mar 31, 2025
Rust stable version updated to 1.85.0
https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html

Some of the major updates:

- Update LIC_FILES_CHKSUM in libstd-rs and rust recipes.
License-Update: Unicode license text is updated to Unicode-3.0 License.
rust-lang/rust@6d2a3e9

- Pass '-Zforce-unstable-if-unmarked' to RUSTFLAGS in libstd-rs.bb
Fix: rust-lang/rust#133857 (comment)

- Downgrade bootstrap cc version causing bootstrap to fail on custom targets. (Backported from v1.85.1)
Fix: rust-lang/rust@e4ca11f

- Explicitly set float ABI for all ARM 32 bits targets.
Fix: rust-lang/rust@a51fefc

- Rust v1.85.0 tarball doesn't ship gcc tree.
Drop "remove_gcc_directory" postfunc which removed it and prevented the bloat.
Fix: rust-lang/rust@13c3f9b

Adapted the patch changes with v1.85.0:
  repro-issue-fix-with-cc-crate-hashmap.patch
  revert-link-std-statically-in-rustc_driver-feature.patch
  rust-oe-selftest.patch
  rv32-cargo-rustix-0.38.40-fix.patch

Dropped patches:
  fix-tidy-check-failure.patch since it's merged with v1.85.0.

(From OE-Core rev: f4ae71bc34c7ee7338eb3600dd91bf76bfa6a671)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead pushed a commit to openembedded/openembedded-core that referenced this issue Mar 31, 2025
Rust stable version updated to 1.85.0
https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html

Some of the major updates:

- Update LIC_FILES_CHKSUM in libstd-rs and rust recipes.
License-Update: Unicode license text is updated to Unicode-3.0 License.
rust-lang/rust@6d2a3e9

- Pass '-Zforce-unstable-if-unmarked' to RUSTFLAGS in libstd-rs.bb
Fix: rust-lang/rust#133857 (comment)

- Downgrade bootstrap cc version causing bootstrap to fail on custom targets. (Backported from v1.85.1)
Fix: rust-lang/rust@e4ca11f

- Explicitly set float ABI for all ARM 32 bits targets.
Fix: rust-lang/rust@a51fefc

- Rust v1.85.0 tarball doesn't ship gcc tree.
Drop "remove_gcc_directory" postfunc which removed it and prevented the bloat.
Fix: rust-lang/rust@13c3f9b

Adapted the patch changes with v1.85.0:
  repro-issue-fix-with-cc-crate-hashmap.patch
  revert-link-std-statically-in-rustc_driver-feature.patch
  rust-oe-selftest.patch
  rv32-cargo-rustix-0.38.40-fix.patch

Dropped patches:
  fix-tidy-check-failure.patch since it's merged with v1.85.0.

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
brainhoard-github pushed a commit to distro-core-curated-mirrors/poky-contrib that referenced this issue Mar 31, 2025
Rust stable version updated to 1.85.0
https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html

Some of the major updates:

- Update LIC_FILES_CHKSUM in libstd-rs and rust recipes.
License-Update: Update Unicode license text to Unicode-3.0 License.
rust-lang/rust@6d2a3e9

- Pass '-Zforce-unstable-if-unmarked' to RUSTFLAGS in libstd-rs.bb
Fix: rust-lang/rust#133857 (comment)

- Downgrade bootstrap cc version causing bootstrap to fail on custom targets. (Backported from v1.85.1)
Fix: rust-lang/rust@e4ca11f

- Explicitly set float ABI for all ARM 32 bits targets.
Fix: rust-lang/rust@a51fefc

- Rust v1.85.0 tarball doesn't ship gcc tree. Drop the unpack:append() which removed it and prevented the bloat.
Fix: rust-lang/rust@13c3f9b

Adapted the patch changes with v1.85.0:
  repro-issue-fix-with-cc-crate-hashmap.patch
  revert-link-std-statically-in-rustc_driver-feature.patch
  rust-oe-selftest.patch
  rv32-cargo-rustix-0.38.40-fix.patch

Dropped patches:
  fix-tidy-check-failure.patch since it's merged with v1.85.0.

(From OE-Core rev: ef6e85f0d0caa1ce03e793aeb351c23cee46e19f)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
halstead pushed a commit to yoctoproject/poky that referenced this issue Mar 31, 2025
Rust stable version updated to 1.85.0
https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html

Some of the major updates:

- Update LIC_FILES_CHKSUM in libstd-rs and rust recipes.
License-Update: Unicode license text is updated to Unicode-3.0 License.
rust-lang/rust@6d2a3e9

- Pass '-Zforce-unstable-if-unmarked' to RUSTFLAGS in libstd-rs.bb
Fix: rust-lang/rust#133857 (comment)

- Downgrade bootstrap cc version causing bootstrap to fail on custom targets. (Backported from v1.85.1)
Fix: rust-lang/rust@e4ca11f

- Explicitly set float ABI for all ARM 32 bits targets.
Fix: rust-lang/rust@a51fefc

- Rust v1.85.0 tarball doesn't ship gcc tree.
Drop "remove_gcc_directory" postfunc which removed it and prevented the bloat.
Fix: rust-lang/rust@13c3f9b

Adapted the patch changes with v1.85.0:
  repro-issue-fix-with-cc-crate-hashmap.patch
  revert-link-std-statically-in-rustc_driver-feature.patch
  rust-oe-selftest.patch
  rv32-cargo-rustix-0.38.40-fix.patch

Dropped patches:
  fix-tidy-check-failure.patch since it's merged with v1.85.0.

(From OE-Core rev: e534966e22a1dd6babed7e1516940dab6e177c08)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead pushed a commit to openembedded/openembedded-core that referenced this issue Mar 31, 2025
Rust stable version updated to 1.85.0
https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html

Some of the major updates:

- Update LIC_FILES_CHKSUM in libstd-rs and rust recipes.
License-Update: Unicode license text is updated to Unicode-3.0 License.
rust-lang/rust@6d2a3e9

- Pass '-Zforce-unstable-if-unmarked' to RUSTFLAGS in libstd-rs.bb
Fix: rust-lang/rust#133857 (comment)

- Downgrade bootstrap cc version causing bootstrap to fail on custom targets. (Backported from v1.85.1)
Fix: rust-lang/rust@e4ca11f

- Explicitly set float ABI for all ARM 32 bits targets.
Fix: rust-lang/rust@a51fefc

- Rust v1.85.0 tarball doesn't ship gcc tree.
Drop "remove_gcc_directory" postfunc which removed it and prevented the bloat.
Fix: rust-lang/rust@13c3f9b

Adapted the patch changes with v1.85.0:
  repro-issue-fix-with-cc-crate-hashmap.patch
  revert-link-std-statically-in-rustc_driver-feature.patch
  rust-oe-selftest.patch
  rv32-cargo-rustix-0.38.40-fix.patch

Dropped patches:
  fix-tidy-check-failure.patch since it's merged with v1.85.0.

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead pushed a commit to yoctoproject/poky that referenced this issue Mar 31, 2025
Rust stable version updated to 1.85.0
https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html

Some of the major updates:

- Update LIC_FILES_CHKSUM in libstd-rs and rust recipes.
License-Update: Unicode license text is updated to Unicode-3.0 License.
rust-lang/rust@6d2a3e9

- Pass '-Zforce-unstable-if-unmarked' to RUSTFLAGS in libstd-rs.bb
Fix: rust-lang/rust#133857 (comment)

- Downgrade bootstrap cc version causing bootstrap to fail on custom targets. (Backported from v1.85.1)
Fix: rust-lang/rust@e4ca11f

- Explicitly set float ABI for all ARM 32 bits targets.
Fix: rust-lang/rust@a51fefc

- Rust v1.85.0 tarball doesn't ship gcc tree.
Drop "remove_gcc_directory" postfunc which removed it and prevented the bloat.
Fix: rust-lang/rust@13c3f9b

Adapted the patch changes with v1.85.0:
  repro-issue-fix-with-cc-crate-hashmap.patch
  revert-link-std-statically-in-rustc_driver-feature.patch
  rust-oe-selftest.patch
  rv32-cargo-rustix-0.38.40-fix.patch

Dropped patches:
  fix-tidy-check-failure.patch since it's merged with v1.85.0.

(From OE-Core rev: e534966e22a1dd6babed7e1516940dab6e177c08)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
brainhoard-github pushed a commit to distro-core-curated-mirrors/poky-contrib that referenced this issue Apr 1, 2025
Rust stable version updated to 1.85.0
https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html

Some of the major updates:

- Update LIC_FILES_CHKSUM in libstd-rs and rust recipes.
License-Update: Update Unicode license text to Unicode-3.0 License.
rust-lang/rust@6d2a3e9

- Pass '-Zforce-unstable-if-unmarked' to RUSTFLAGS in libstd-rs.bb
Fix: rust-lang/rust#133857 (comment)

- Downgrade bootstrap cc version causing bootstrap to fail on custom targets. (Backported from v1.85.1)
Fix: rust-lang/rust@e4ca11f

- Explicitly set float ABI for all ARM 32 bits targets.
Fix: rust-lang/rust@a51fefc

- Rust v1.85.0 tarball doesn't ship gcc tree. Drop the unpack:append() which removed it and prevented the bloat.
Fix: rust-lang/rust@13c3f9b

Adapted the patch changes with v1.85.0:
  repro-issue-fix-with-cc-crate-hashmap.patch
  revert-link-std-statically-in-rustc_driver-feature.patch
  rust-oe-selftest.patch
  rv32-cargo-rustix-0.38.40-fix.patch

Dropped patches:
  fix-tidy-check-failure.patch since it's merged with v1.85.0.

(From OE-Core rev: a246b197207204d21bdd5c4358b4b61a1e1df22c)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-discussion Category: Discussion or questions that doesn't represent real issues.
Projects
None yet
Development

No branches or pull requests

5 participants