Description
Moving from user forum: https://users.rust-lang.org/t/llvm-error-fixup-value-too-large-for-data-type/58059
Platform: Apple M1 (Mac Mini & Macbook Air)
Operating System: Mac OS X Big Sur 11.2.2
Host: aarch64-apple-darwin
Rust: 1.51.0 (stable)
Works fine on other systems such as Ubuntu with x86_64.
To reproduce, open vimwiki-rs RefactorToEntity branch, navigate to the vimwiki-server directory, and run cargo build --release
. This will fail on the final step with the LLVM error.
When building a release version of my binary, I'm encountering, "LLVM ERROR: fixup value too large for data type!" This only happens with release, which is configured with these settings:
[profile.release]
opt-level = 'z'
lto = true
codegen-units = 1
These settings worked fine until I recently refactored my binary to use a new library I wrote that generates a lot of code using a mixture of derive and attribute macros, so I'm assuming it has something to do with that, but this error message doesn't tell me anything that I can do to try to fix it myself.
For reference, the project being compiled is vimwiki-server of vimwiki-rs RefactorToEntity branch. It's a lot of code, so trying to undo changes one at a time is going to be difficult.
Has anyone seen this error before? What kinds of Rust code can lead to this?