Skip to content
This repository was archived by the owner on Feb 26, 2026. It is now read-only.

fix: use resource_windows_amd64.syso to avoid ARM64 linker error - #24

Merged
lucasmodrich merged 1 commit into
mainfrom
fix-syso-arm64
Feb 21, 2026
Merged

lucasmodrich merged 1 commit into
mainfrom
fix-syso-arm64

Conversation

@lucasmodrich

Copy link
Copy Markdown
Owner

Summary

  • Rename goversioninfo output from resource_windows.syso → resource_windows_amd64.syso in .goreleaser.yml and .gitignore

Root Cause

The v2.2.1 release failed with:

unknown ARM64 relocation type 3

goversioninfo -64 produces an AMD64 COFF object. Go's linker accepts it for windows/amd64 but rejects the AMD64 relocations when cross-compiling for windows/arm64.

Go's build system uses filename suffixes to scope .syso files: resource_windows_amd64.syso is only linked when GOOS=windows && GOARCH=amd64, so the ARM64 build proceeds without it (no VERSIONINFO on arm64, but it builds successfully).

Test plan

  • goreleaser check passes (verified locally ✓)
  • goversioninfo -64 -o resource_windows_amd64.syso ... compiles without error (verified locally ✓)
  • Release workflow builds all 6 targets successfully
  • gwtm_Windows_x86_64.exe Properties → Details shows populated fields

🤖 Generated with Claude Code

The AMD64 COFF object produced by goversioninfo -64 contains AMD64-specific
relocations that the Go linker rejects when cross-compiling for windows/arm64.
Renaming the output to resource_windows_amd64.syso tells the Go toolchain to
only link it for GOOS=windows GOARCH=amd64, leaving the ARM64 build clean.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@lucasmodrich
lucasmodrich merged commit 997a873 into main Feb 21, 2026
2 checks passed
@lucasmodrich
lucasmodrich deleted the fix-syso-arm64 branch February 21, 2026 03:31
lucasmodrich added a commit that referenced this pull request Feb 21, 2026
The old generic .syso was superseded by resource_windows_amd64.syso in #24
but wasn't gitignored. Adding it prevents accidentally reintroducing the
ARM64 cross-compile failure if go generate ever emits the non-arch-specific
filename again.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant