-
-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Go! #1
Comments
Hey sorry for the delayed response, before and after Defcon/BSLV takes a number on me. Anyway, so the interesting thing about Go's OS support is based on the underlying syscalls and functions it uses under the hood. These are mainly stored in the This goal was done as I was working on a variant of Garble that would do these inline replacements (similar to how Gable changes some core-stdlib code before compile time using things called "overlays"). The first goal was to be sure that even if I could make it do that, would it work? Well I cloned my on-device GOROOT and replaced many of the functions not available in Xp with ones that are. I don't have the exact diff handy, but from my notes, it looks something like this. (Also some of my fixes to the stdlib I wanted to make, like actually de-commiting reserved memory which Go does not do in Windows). These are specific to Go 1.22, so it may be different in Go 1.23. Files that need to be updated:
You'll notice that some of the replaced functions are in Xp. However, it's 1000% easier to use all the Currently, the compatible builder is paused as work is focused on the Rust variant XrMT as I have full control instead of having to deal with the Go runtime and the Go devs disdain of people modifying how it works. I hope that helps! |
Also found my diff, it's very hacky looking but it replaces the incompatible function calls.
|
Have you considered open-sourcing your golang branch? Maybe it will be helpful to others who need it. |
Oh absolutely! It will be, it'll be included as part of my fork of Garble. Revisiting it is on my todo list! |
Hello
I saw your old tweet on Twitter "I made the latest version of golang able to run on Windows XP!!"
I was wondered, latest versions of Go can't even run on Windows 7, how did you made them run in Windows XP!
Could you please give more info about this experience?
The text was updated successfully, but these errors were encountered: