Skip to content

Conversation

@leonardocxavier
Copy link

@leonardocxavier leonardocxavier commented Dec 22, 2025

This commit fixes a critical bug introduced in PR #150116 that caused "offset is not a multiple of 16" errors when compiling for x86_64-unknown-uefi.

Problem:

PR #150116 optimized memory layout by inverting the storage representation from memory_index (source→memory) to in_memory_order (memory→source).

However, in compiler/rustc_abi/src/layout/coroutine.rs (lines 244-276), the code was building combined_in_memory_order directly instead of:

  1. Building combined_memory_index (source→memory) first
  2. Inverting it to get in_memory_order (memory→source)

This caused fields to be placed at incorrect offsets, violating PE/COFF alignment requirements (16-byte multiples), triggering linker errors.

Solution:

Changed the coroutine layout code to:

  • Build combined_memory_index as an intermediate representation
  • Use correct indexing: combined_memory_index[i] = memory_index
  • Invert at the end: combined_in_memory_order = combined_memory_index.invert_bijective_mapping()

Impact:

  • Fixes UEFI target compilation (x86_64-unknown-uefi)
  • May affect other PE/COFF targets
  • Enables SOBEX OS development to continue

Files changed:

  • compiler/rustc_abi/src/layout/coroutine.rs: Applied fix
  • BUG_FIX_REPORT.md: Detailed investigation report
  • fix_pr150116_coroutine_layout.patch: Patch for upstream submission
  • .gitignore: Added Claude Code settings

Upstream:

This fix should be submitted to rust-lang/rust as it affects the latest nightly (2025-12-19) and potentially other PE/COFF targets.

🤖 Generated with Claude Code

…utine layout

This commit fixes a critical bug introduced in PR rust-lang#150116 that caused
"offset is not a multiple of 16" errors when compiling for x86_64-unknown-uefi.

Problem:
--------
PR rust-lang#150116 optimized memory layout by inverting the storage representation
from `memory_index` (source→memory) to `in_memory_order` (memory→source).

However, in compiler/rustc_abi/src/layout/coroutine.rs (lines 244-276),
the code was building `combined_in_memory_order` directly instead of:
1. Building `combined_memory_index` (source→memory) first
2. Inverting it to get `in_memory_order` (memory→source)

This caused fields to be placed at incorrect offsets, violating PE/COFF
alignment requirements (16-byte multiples), triggering linker errors.

Solution:
---------
Changed the coroutine layout code to:
- Build `combined_memory_index` as an intermediate representation
- Use correct indexing: `combined_memory_index[i] = memory_index`
- Invert at the end: `combined_in_memory_order = combined_memory_index.invert_bijective_mapping()`

Impact:
-------
- Fixes UEFI target compilation (x86_64-unknown-uefi)
- May affect other PE/COFF targets
- Enables SOBEX OS development to continue

Files changed:
--------------
- compiler/rustc_abi/src/layout/coroutine.rs: Applied fix
- BUG_FIX_REPORT.md: Detailed investigation report
- fix_pr150116_coroutine_layout.patch: Patch for upstream submission
- .gitignore: Added Claude Code settings

Upstream:
---------
This fix should be submitted to rust-lang/rust as it affects the
latest nightly (2025-12-19) and potentially other PE/COFF targets.

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Dec 22, 2025
@rustbot
Copy link
Collaborator

rustbot commented Dec 22, 2025

r? @eholk

rustbot has assigned @eholk.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot
Copy link
Collaborator

rustbot commented Dec 22, 2025

⚠️ Warning ⚠️

  • There are issue links (such as #123) in the commit messages of the following commits.
    Please move them to the PR description, to avoid spamming the issues with references to the commit, and so this bot can automatically canonicalize them to avoid issues with subtree.

@rust-log-analyzer
Copy link
Collaborator

The job aarch64-gnu-llvm-20-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
   Compiling rustc_codegen_llvm v0.0.0 (/checkout/compiler/rustc_codegen_llvm)
[RUSTC-TIMING] rustc_hir_analysis test:false 138.755
   Compiling rustc_mir_transform v0.0.0 (/checkout/compiler/rustc_mir_transform)

thread 'rustc' (20572) panicked at /checkout/compiler/rustc_index/src/slice.rs:186:9:
assertion `left == right` failed: The values aren't 0..N in input [1, 2]
  left: 3
 right: 1
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/1b6e21e163baa0b20f119e17e3871910978a60b6/library/std/src/panicking.rs:689:5
   1: core::panicking::panic_fmt
             at /rustc/1b6e21e163baa0b20f119e17e3871910978a60b6/library/core/src/panicking.rs:80:14
   2: core::panicking::assert_failed_inner
   3: core::panicking::assert_failed::<u128, u128>
   4: <rustc_index::slice::IndexSlice<rustc_abi::layout::ty::FieldIdx, u32>>::invert_bijective_mapping
   5: <core::iter::adapters::map::Map<core::iter::adapters::map::Map<core::iter::adapters::enumerate::Enumerate<core::slice::iter::Iter<rustc_index::vec::IndexVec<rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal>>>, <rustc_index::slice::IndexSlice<rustc_abi::layout::ty::VariantIdx, rustc_index::vec::IndexVec<rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal>>>::iter_enumerated::{closure#0}>, rustc_abi::layout::coroutine::layout<rustc_abi::layout::ty::TyAndLayout<rustc_middle::ty::Ty>, rustc_abi::layout::ty::VariantIdx, rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal, rustc_middle::ty::context::TyCtxt, rustc_ty_utils::layout::layout_of_uncached::{closure#14}>::{closure#1}> as core::iter::traits::iterator::Iterator>::try_fold::<(), <core::iter::adapters::GenericShunt<core::iter::adapters::map::Map<core::iter::adapters::map::Map<core::iter::adapters::enumerate::Enumerate<core::slice::iter::Iter<rustc_index::vec::IndexVec<rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal>>>, <rustc_index::slice::IndexSlice<rustc_abi::layout::ty::VariantIdx, rustc_index::vec::IndexVec<rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal>>>::iter_enumerated::{closure#0}>, rustc_abi::layout::coroutine::layout<rustc_abi::layout::ty::TyAndLayout<rustc_middle::ty::Ty>, rustc_abi::layout::ty::VariantIdx, rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal, rustc_middle::ty::context::TyCtxt, rustc_ty_utils::layout::layout_of_uncached::{closure#14}>::{closure#1}>, core::result::Result<core::convert::Infallible, rustc_abi::layout::LayoutCalculatorError<rustc_abi::layout::ty::TyAndLayout<rustc_middle::ty::Ty>>>> as core::iter::traits::iterator::Iterator>::try_fold<(), core::iter::traits::iterator::Iterator::try_for_each::call<rustc_abi::LayoutData<rustc_abi::layout::ty::FieldIdx, rustc_abi::layout::ty::VariantIdx>, core::ops::control_flow::ControlFlow<rustc_abi::LayoutData<rustc_abi::layout::ty::FieldIdx, rustc_abi::layout::ty::VariantIdx>>, core::ops::control_flow::ControlFlow<rustc_abi::LayoutData<rustc_abi::layout::ty::FieldIdx, rustc_abi::layout::ty::VariantIdx>>::Break>::{closure#0}, core::ops::control_flow::ControlFlow<rustc_abi::LayoutData<rustc_abi::layout::ty::FieldIdx, rustc_abi::layout::ty::VariantIdx>>>::{closure#0}, core::ops::control_flow::ControlFlow<core::ops::control_flow::ControlFlow<rustc_abi::LayoutData<rustc_abi::layout::ty::FieldIdx, rustc_abi::layout::ty::VariantIdx>>>>
   6: <core::iter::adapters::GenericShunt<core::iter::adapters::map::Map<core::iter::adapters::map::Map<core::iter::adapters::enumerate::Enumerate<core::slice::iter::Iter<rustc_index::vec::IndexVec<rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal>>>, <rustc_index::slice::IndexSlice<rustc_abi::layout::ty::VariantIdx, rustc_index::vec::IndexVec<rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal>>>::iter_enumerated::{closure#0}>, rustc_abi::layout::coroutine::layout<rustc_abi::layout::ty::TyAndLayout<rustc_middle::ty::Ty>, rustc_abi::layout::ty::VariantIdx, rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal, rustc_middle::ty::context::TyCtxt, rustc_ty_utils::layout::layout_of_uncached::{closure#14}>::{closure#1}>, core::result::Result<core::convert::Infallible, rustc_abi::layout::LayoutCalculatorError<rustc_abi::layout::ty::TyAndLayout<rustc_middle::ty::Ty>>>> as core::iter::traits::iterator::Iterator>::next
   7: <alloc::vec::Vec<rustc_abi::LayoutData<rustc_abi::layout::ty::FieldIdx, rustc_abi::layout::ty::VariantIdx>> as alloc::vec::spec_from_iter::SpecFromIter<rustc_abi::LayoutData<rustc_abi::layout::ty::FieldIdx, rustc_abi::layout::ty::VariantIdx>, core::iter::adapters::GenericShunt<core::iter::adapters::map::Map<core::iter::adapters::map::Map<core::iter::adapters::enumerate::Enumerate<core::slice::iter::Iter<rustc_index::vec::IndexVec<rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal>>>, <rustc_index::slice::IndexSlice<rustc_abi::layout::ty::VariantIdx, rustc_index::vec::IndexVec<rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal>>>::iter_enumerated::{closure#0}>, rustc_abi::layout::coroutine::layout<rustc_abi::layout::ty::TyAndLayout<rustc_middle::ty::Ty>, rustc_abi::layout::ty::VariantIdx, rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal, rustc_middle::ty::context::TyCtxt, rustc_ty_utils::layout::layout_of_uncached::{closure#14}>::{closure#1}>, core::result::Result<core::convert::Infallible, rustc_abi::layout::LayoutCalculatorError<rustc_abi::layout::ty::TyAndLayout<rustc_middle::ty::Ty>>>>>>::from_iter
   8: core::iter::adapters::try_process::<core::iter::adapters::map::Map<core::iter::adapters::map::Map<core::iter::adapters::enumerate::Enumerate<core::slice::iter::Iter<rustc_index::vec::IndexVec<rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal>>>, <rustc_index::slice::IndexSlice<rustc_abi::layout::ty::VariantIdx, rustc_index::vec::IndexVec<rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal>>>::iter_enumerated::{closure#0}>, rustc_abi::layout::coroutine::layout<rustc_abi::layout::ty::TyAndLayout<rustc_middle::ty::Ty>, rustc_abi::layout::ty::VariantIdx, rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal, rustc_middle::ty::context::TyCtxt, rustc_ty_utils::layout::layout_of_uncached::{closure#14}>::{closure#1}>, rustc_abi::LayoutData<rustc_abi::layout::ty::FieldIdx, rustc_abi::layout::ty::VariantIdx>, core::result::Result<core::convert::Infallible, rustc_abi::layout::LayoutCalculatorError<rustc_abi::layout::ty::TyAndLayout<rustc_middle::ty::Ty>>>, <core::result::Result<rustc_index::vec::IndexVec<rustc_abi::layout::ty::VariantIdx, rustc_abi::LayoutData<rustc_abi::layout::ty::FieldIdx, rustc_abi::layout::ty::VariantIdx>>, rustc_abi::layout::LayoutCalculatorError<rustc_abi::layout::ty::TyAndLayout<rustc_middle::ty::Ty>>> as core::iter::traits::collect::FromIterator<core::result::Result<rustc_abi::LayoutData<rustc_abi::layout::ty::FieldIdx, rustc_abi::layout::ty::VariantIdx>, rustc_abi::layout::LayoutCalculatorError<rustc_abi::layout::ty::TyAndLayout<rustc_middle::ty::Ty>>>>>::from_iter<core::iter::adapters::map::Map<core::iter::adapters::map::Map<core::iter::adapters::enumerate::Enumerate<core::slice::iter::Iter<rustc_index::vec::IndexVec<rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal>>>, <rustc_index::slice::IndexSlice<rustc_abi::layout::ty::VariantIdx, rustc_index::vec::IndexVec<rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal>>>::iter_enumerated::{closure#0}>, rustc_abi::layout::coroutine::layout<rustc_abi::layout::ty::TyAndLayout<rustc_middle::ty::Ty>, rustc_abi::layout::ty::VariantIdx, rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal, rustc_middle::ty::context::TyCtxt, rustc_ty_utils::layout::layout_of_uncached::{closure#14}>::{closure#1}>>::{closure#0}, rustc_index::vec::IndexVec<rustc_abi::layout::ty::VariantIdx, rustc_abi::LayoutData<rustc_abi::layout::ty::FieldIdx, rustc_abi::layout::ty::VariantIdx>>>
   9: rustc_abi::layout::coroutine::layout::<rustc_abi::layout::ty::TyAndLayout<rustc_middle::ty::Ty>, rustc_abi::layout::ty::VariantIdx, rustc_abi::layout::ty::FieldIdx, rustc_middle::mir::query::CoroutineSavedLocal, rustc_middle::ty::context::TyCtxt, rustc_ty_utils::layout::layout_of_uncached::{closure#14}>
  10: rustc_ty_utils::layout::layout_of_uncached
  11: rustc_ty_utils::layout::layout_of
      [... omitted 3 frames ...]
  12: <rustc_mir_transform::known_panics_lint::KnownPanicsLint as rustc_mir_transform::pass_manager::MirLint>::run_lint
  13: rustc_mir_transform::pass_manager::run_passes_inner
  14: rustc_mir_transform::run_analysis_to_runtime_passes
  15: rustc_mir_transform::mir_drops_elaborated_and_const_checked
      [... omitted 3 frames ...]
  16: <rustc_middle::ty::context::TyCtxt>::par_hir_body_owners::<rustc_interface::passes::run_required_analyses::{closure#1}::{closure#0}>::{closure#0}
  17: rustc_data_structures::sync::parallel::par_for_each_in::<&rustc_span::def_id::LocalDefId, &[rustc_span::def_id::LocalDefId], <rustc_middle::ty::context::TyCtxt>::par_hir_body_owners<rustc_interface::passes::run_required_analyses::{closure#1}::{closure#0}>::{closure#0}>
  18: <rustc_session::session::Session>::time::<(), rustc_interface::passes::run_required_analyses::{closure#1}>
  19: rustc_interface::passes::analysis
      [... omitted 3 frames ...]
  20: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>::{closure#1}, core::option::Option<rustc_interface::queries::Linker>>::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>
  21: <rustc_middle::ty::context::TyCtxt>::create_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
  22: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
  23: <alloc::boxed::Box<dyn for<'a> core::ops::function::FnOnce<(&'a rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &'a std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena<'a>>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}), Output = core::option::Option<rustc_interface::queries::Linker>>> as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once
  24: rustc_interface::passes::create_and_enter_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>
  25: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
  26: rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

---
warning: the ICE couldn't be written to `/checkout/rustc-ice-2025-12-22T13_20_03-20570.txt`: Read-only file system (os error 30)

note: rustc 1.94.0-nightly (5c9293b7f 2025-12-22) running on aarch64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C opt-level=3 -C embed-bitcode=no -C debug-assertions=on -C symbol-mangling-version=v0 -Z annotate-moves -Z randomize-layout -Z unstable-options -Z macro-backtrace -C split-debuginfo=off -C llvm-args=-import-instr-limit=10 -C link-args=-Wl,-z,origin -C link-args=-Wl,-rpath,$ORIGIN/../lib -Z on-broken-pipe=kill -Z binary-dep-depinfo -Z tls-model=initial-exec -Z force-unstable-if-unmarked

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [layout_of] computing layout of `{gen block@compiler/rustc_mir_transform/src/coverage/expansion.rs:32:9: 32:17}`
#1 [mir_drops_elaborated_and_const_checked] elaborating drops for `coverage::expansion::<impl at compiler/rustc_mir_transform/src/coverage/expansion.rs:21:1: 21:14>::iter_node_and_descendants`
#2 [analysis] running analysis passes on crate `rustc_mir_transform`
end of query stack
[RUSTC-TIMING] rustc_mir_transform test:false 10.422
error: could not compile `rustc_mir_transform` (lib)

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc /checkout/obj/build/bootstrap/debug/rustc --crate-name rustc_mir_transform --edition=2024 compiler/rustc_mir_transform/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C debug-assertions=on --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=b747b80b4816b622 -C extra-filename=-7aea85e869720d2e --out-dir /checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps --target aarch64-unknown-linux-gnu -L dependency=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/release/deps --extern either=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/libeither-7abbccd1a96e1542.rmeta --extern hashbrown=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/libhashbrown-b40b1a0130e99ecb.rmeta --extern itertools=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/libitertools-81f49f8e11de693c.rmeta --extern rustc_abi=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/librustc_abi-1afaa3f3245e2dd4.rmeta --extern rustc_arena=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/librustc_arena-cfd367e58a6bc457.rmeta --extern rustc_ast=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/librustc_ast-e3d2690e5a49c970.rmeta --extern rustc_const_eval=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/librustc_const_eval-b1ca8f0ed004f280.rmeta --extern rustc_data_structures=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/librustc_data_structures-587fb05c8dafad4d.rmeta --extern rustc_errors=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/librustc_errors-0f34e15403b31326.rmeta --extern rustc_fluent_macro=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_fluent_macro-4a961d829a2683db.so --extern rustc_hir=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/librustc_hir-89bdb7017bcba14c.rmeta --extern rustc_index=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/librustc_index-6f4840c1a9645bab.rmeta --extern rustc_infer=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/librustc_infer-371854b0789a0177.rmeta --extern rustc_macros=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-3ff6a3aa78068682.so --extern rustc_middle=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/librustc_middle-7f32a2ea0c4a81a2.rmeta --extern rustc_mir_build=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/librustc_mir_build-4054c0216300782b.rmeta --extern rustc_mir_dataflow=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/librustc_mir_dataflow-0b8a32f901427aab.rmeta --extern rustc_session=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/librustc_session-67e7a91e2ca60666.rmeta --extern rustc_span=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/librustc_span-3cf9de945ff81197.rmeta --extern rustc_target=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/librustc_target-3752b8177338c849.rmeta --extern rustc_trait_selection=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/librustc_trait_selection-e2f371d1eda9f8ad.rmeta --extern smallvec=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/libsmallvec-39a79af90d09d14e.rmeta --extern tracing=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/deps/libtracing-3cfd651843724efa.rmeta --cfg=windows_raw_dylib -Csymbol-mangling-version=v0 -Zannotate-moves -Zrandomize-layout -Zunstable-options '--check-cfg=cfg(bootstrap)' -Zmacro-backtrace -Csplit-debuginfo=off -Cllvm-args=-import-instr-limit=10 -Clink-args=-Wl,-z,origin '-Clink-args=-Wl,-rpath,$ORIGIN/../lib' -Alinker-messages -Zon-broken-pipe=kill -Z binary-dep-depinfo -L native=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/build/psm-bc92d5dc81bf5431/out -L native=/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-rustc/aarch64-unknown-linux-gnu/release/build/blake3-1746d276ab9e75b0/out` (exit status: 101)
warning: build failed, waiting for other jobs to finish...
[RUSTC-TIMING] rustc_codegen_llvm test:false 60.870
[RUSTC-TIMING] rustc_borrowck test:false 124.004
[RUSTC-TIMING] rustc_hir_typeck test:false 127.088
Bootstrap failed while executing `--stage 2 test --skip compiler --skip src`

@Kivooeo
Copy link
Member

Kivooeo commented Dec 22, 2025

Closed as per rust-lang/compiler-team#893

@Kivooeo Kivooeo closed this Dec 22, 2025
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants