Description
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):
- @_ZN8gm82save37confirm_before_deleting_action_object17h30a220a8f4863defE@0
- @_ZN8gm82save39confirm_before_deleting_action_timeline17h22d105fcf186e7ccE@0
And for the following functions, only on release builds:
- @_ZN8gm82save6delphi7TBitmap19load_from_clipboard17h9cbf20c58e920f0dE@4
- @_ZN8gm82save9code_form30trigger_disable_condition_memo17hd451c78277cada2bE@0
- @ZN8gm82save11font_render39$LT$impl$u20$gm82save..asset..Font$GT$21copy_glyph_onto_atlas17h2c7e90248cebc313E@32
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.