Skip to content

Latest commit

 

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go2xp

Run binaries built with stock Go on Windows XP (and Windows 7) — no toolchain fork, no helper DLL.

Idea: missing WinAPI functions are implemented in a Go package (shim) linked into the application; a post-build patcher (go2xp patch) fixes the PE header, re-points the import table slots at those polyfills and hooks GetProcAddress/LoadLibraryExW so lazily resolved imports are covered too.

Status: experimental XP handoff. The probes, Windows shim tests and the self-patched patcher run under Wine. Real XP acceptance is still pending, and export coverage alone does not establish complete Go compatibility. See reference review for known cancellation, filesystem and Win7 limitations.

Build the XP bundle on Linux with Go 1.26.6 or later:

sh scripts/bundle.sh /path/to/bundle-xp
# Optionally include an f4 checkout with the companion shim-import patch:
F4=/path/to/f4 sh scripts/bundle.sh /path/to/bundle-xp

Run test-xp.cmd from the extracted bundle on the XP machine. See the test plan, docs/SPEC.md (spec, Russian) and STATUS.md (append-only progress log).

First showcase: f4.

License: BSD-3-Clause.

About

an elegant way to run modern Go apps on WinXP+

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages