Skip to content

Illegal instruction compiling core and compiler_builtins for target mips3 with ABI n64. #121253

Open
@sarchar

Description

@sarchar

Both modules core and compiler_builtins fail to compile with target mips3 and ABI set to n64. Note: they compile with ABI n32 no problem.

To reproduce, you could try checking out my project https://github.com/sarchar/libdragon-rs and changing the ABI from n32 to n64 in mips-nintendo64-none.json.

I expected to see this happen: core and compiler_builtins should compile

Instead, this happened: LLVM crashes with SIGILL (Illegal instruction) with opcode "ud2". I believe LLVM intentionally crashes when UB code is encountered.

Meta

rustc --version --verbose:

rustc 1.75.0-nightly (09df6108c 2023-10-17)
binary: rustc
commit-hash: 09df6108c84fdec400043d99d9ee232336fd5a9f
commit-date: 2023-10-17
host: x86_64-unknown-linux-gnu
release: 1.75.0-nightly
LLVM version: 17.0.2

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-MIPSTarget: MIPS processorsT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.requires-custom-configThis issue requires custom config/build for rustc in some way

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions