Skip to content

naked_functions: invalid instruction mnemonic <function name> on an .endef line #138320

Closed
@skyfloogle

Description

@skyfloogle

On nightly-2024-12-13 and any later version, I'm seeing compile errors in my project. I do not get these errors on previous nightlies. My project only builds for Windows 32-bit (and requires nightly Rust), but I'm seeing this error both on native MSVC and when cross-compiling on Linux with the i686-pc-windows-gnu target. The error message in question looks like this:

error: invalid instruction mnemonic '_zn8gm82save39confirm_before_deleting_action_timeline17h22d105fcf186e7cce@0'
     |
note: instantiated into assembly here
    --> <inline asm>:1808:9
     |
1808 | .endef @_ZN8gm82save39confirm_before_deleting_action_timeline17h22d105fcf186e7ccE@0
     |   

No additional information is printed with RUST_BACKTRACE=1.

This error occurs for the following functions on debug and release builds (listing manged function names, links point to relevant source code):

And for the following functions, only on release builds:

All of the above are naked functions. The project contains many other naked functions; I don't know whether these are special or whether it just didn't get to any others. I've tried a blank project with just one naked function, and that compiles without issue.

The date and error message seem to point to #128004 (.endef is generated here), but I'm not familiar enough with the internals to identify what's wrong here.

The issue can be reproduced by cloning https://github.com/GM82Project/gm82save and running cargo build (with or without --release, specifying --target=i686-pc-windows-gnu if necessary). There's no unusual dependencies.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-nakedArea: `#[naked]`, prologue and epilogue-free, functions, https://git.io/vAzzSC-bugCategory: This is a bug.F-naked_functions`#![feature(naked_functions)]`O-windowsOperating system: WindowsT-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