-
Notifications
You must be signed in to change notification settings - Fork 18.3k
Open
Labels
NeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.OS-Windowsarch-armIssues solely affecting the 32-bit arm architecture.Issues solely affecting the 32-bit arm architecture.umbrella
Milestone
Description
The Go porting policy has a section on broken ports, https://go.dev/wiki/PortingPolicy#broken-ports. The GOOS=windows GOARCH=arm (not arm64) port was marked broken in August 2024 (CL 601777) for the following reasons:
- The port stopped working, failing to build with make.bat, tracked in issue runtime: problem with preemption on windows arm32 #68552.
- The builder stopped running, and no new running builder has been added yet, tracked in x/build: add LUCI windows-arm builder #67308. (A running builder is needed to know whether the port is working.)
This is an umbrella issue to track the status of the port.
CC @golang/windows, @golang/release.
Jorropo, qmuntal and binarymaster
Metadata
Metadata
Assignees
Labels
NeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.OS-Windowsarch-armIssues solely affecting the 32-bit arm architecture.Issues solely affecting the 32-bit arm architecture.umbrella
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity
gabyhelp commentedon Dec 5, 2024
Related Issues
(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)
gopherbot commentedon Dec 5, 2024
Change https://go.dev/cl/634077 mentions this issue:
_content/doc/go1.24: document broken windows/arm port
_content/doc/go1.24: document broken windows/arm port
qmuntal commentedon Dec 9, 2024
IMO, the important fact here is that windows/arm32 has been broken since Go 1.17 and nobody complained until now, almost 4 years later. Additionally, Windows 11 no longer supports arm32, not even via arm64 to arm32 emulation. From https://learn.microsoft.com/en-us/windows/arm/arm32-to-arm64:
Given these facts, I'm inclined to remove the windows/arm32 port altogether. This will also help making the Windows port easier to maintain, as it's one less architecture to touch when refactoring the compiler and the runtime.
mcandre commentedon Feb 11, 2025
Please elide broken platforms from
go tool dist list
.That mechanism can act as a single source of truth for working platforms, so that dev utilities like factorio can function without requiring constantly republishing manual lists of broken ports.
https://github.com/mcandre/factorio
Could there be a Go stdlib API member, so we don't need to shell out every time?
dmitshur commentedon Feb 11, 2025
@mcandre go tool dist list already leaves out broken ports by default. Broken ports can be listed too by passing in the
-broken
flag.That was issue #56679.
There's no package in the standard library that's a good fit for this, and this information can changes only in major Go releases, so at most once every 6 month, so executing a cmd/dist shouldn't be too onerous. If you still think there's more to do, please file a separate issue for that, since this issue is about the window/arm port specifically. Thanks.
mcandre commentedon Feb 11, 2025
chore(build): remove Windows ARM 32-bit build
chore(build): remove Windows ARM 32-bit build