Skip to content

llvm UNREACHABLE for x86_64-unknown-linux-gnux32 target #45417

Closed
@malbarbo

Description

@malbarbo
> rustc --version --verbose
rustc 1.22.0-nightly (4750c1ec0 2017-10-19)
binary: rustc
commit-hash: 4750c1ec047f18bc0e33823182e09711a3826fb5
commit-date: 2017-10-19
host: x86_64-unknown-linux-gnu
release: 1.22.0-nightly
LLVM version: 4.0

Trying

echo "fn main() { println!() }" | rustc --target x86_64-unknown-linux-gnux32 -

rustc is aborted with the error

Cannot emit physreg copy instruction
UNREACHABLE executed at /checkout/src/llvm/lib/Target/X86/X86InstrInfo.cpp:5778!

Which also appears in #45416 and #37976.

Using the docker image to build #45391 I got the same errors, but using a rustc built without the docker container (using debian9) I can build many programs - but running the programs generates a SIGBUS or SIGTRAP, which seems to indicate stack problems (as suggested by @alexcrichton). Note that inside docker many tests are build and run fine!

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.C-bugCategory: This is a bug.O-linuxOperating system: LinuxO-x32x32 ABIT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions