Open
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.
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
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
5 remaining items