Skip to content

UI test issue-64655-extern-rust-must-allow-unwind.rs#fat0 triggers LLVM assert when compiled for i686 target #86758

Closed
@voidc

Description

@voidc

This was discovered in #81825 (comment), which adds support for Linux pidfds to standard library. With the changes in the PR, the issue-64655-extern-rust-must-allow-unwind test triggers an LLVM assertion during compilation. This is similar to the issue described in #83854.
As a workaround, the failing test revision was disabled provisionally.

Minimal reproduction:

  1. Checkout 2208705
  2. Run src/ci/docker/run.sh --dev i686-gnu and build stage1 compiler
  3. Run echo "fn main() {}" | build/i686-unknown-linux-gnu/stage1/bin/rustc - "--target=i686-unknown-linux-gnu" -Clto=fat

Output:

/checkout/src/llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp:883: void {anonymous}::RegAllocFast::defineVirtReg(llvm::MachineInstr&, unsigned int, llvm::Register, bool): Assertion `PhysReg != 0 && "Register not assigned"' failed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.O-x86_32Target: x86 processors, 32 bit (like i686-*) (IA-32)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions