Patched Go 1.26.3 for Windows Server 2008 R2, Windows 7, Windows Server 2012, Windows Server 2012 R2 and Windows 8.1
Upgrade to Go 1.26.3 with patch updates.
NOTICE
- This SDK does not include support for Windows on 32-bit ARM.
- This SDK does not include a patch for
-raceflag (Race Detector) for Windows 7 / Windows Server 2008 R2. This is a known issue which occurred since Go 1.21 and fixing this has side-effects on newer Windows. - This SDK does not include testing files anymore like official distributions.
- The repository will drop support for Windows 7 (without KB3125574 or almost all updates released before April 2016) / Windows Server 2008 R2 (without KB3125574 or almost all updates released before April 2016) since Go 1.27. Only installing several key patches may also work, but compatibility may drift due to upstream changes.
Packages:
-
go-for-win7-{GOOS}-{GOARCH}.zip: Pre-compiled SDK binaries and source code including patches below:
- Fix incompatibility problem from
RemoveAll() - Substitute
ProcessPrngcalling withRtlGenRandomcalling - Add back legacy console handle workaround for Windows 7
- Fix incompatibility problem from
-
source-pre-KB3125574.zip: Source code targeting Windows 7 SP1 / Windows Server 2008 R2 SP1 that did not install updates released before April 2016 or without KB3125574 (May 2016, with Servicing Stack Update at least from KB3020369 (April 2015)) installed. This package can be manually compiled (bootstrapping) or copy-paste the
srcdirectory to a usable SDK. This package including patches below:- All patches from go-for-win7-{GOOS}-{GOARCH}.zip
- Substitute
LoadLibraryExWcalling withLoadLibraryAcalling andLoadLibraryWcalling. (KB2533623, July 2011) - Keep in mind that using
LoadLibrary*inside this SDK might be less secured than usingLoadLibraryEx*
-
source-pre-SP1.zip: Source code targeting Windows 7 / Windows Server 2008 R2 that without Service Pack 1 (KB976932, February 2011) installed. This package can be manually compiled (bootstrapping) or copy-paste the
srcdirectory to a usable SDK. This package including patches below:- All patches from source-pre-KB31255743.zip
- Substitute
WSASocketcalling withsysSocketcalling.
升级至 Go 1.26.3,并包含相关补丁更新。
注意事项
- 本 SDK 不支持 32 位 ARM 架构的 Windows。
- 本 SDK 不包含针对 Windows 7 / Windows Server 2008 R2 上
-race参数(Race Detector,竞态检测器)的补丁。该问题自 Go 1.21 起已存在,目前修复会对较新版本的 Windows 产生副作用,因此不提供修复。 - 本 SDK 不再包含与官方发行版类似的测试文件。
- 仓库将从 Go 1.27 开始去除对未安装 KB3125574 或未安装大部分于 2016 年四月前发布的更新的 Windows 7 / Windows 2008 R2 的支持。 仅安装部分关键补丁仍有可能能正常运行,但受上游更改的影响其兼容性随时有可能发生漂变。
软件包说明
-
go-for-win7-{GOOS}-{GOARCH}.zip:预编译的 SDK 二进制文件及源代码,包含以下补丁:
- 修复
RemoveAll()的不兼容问题 - 将
ProcessPrng调用替换为RtlGenRandom调用 - 恢复对 Windows 7 的旧版控制台句柄兼容性处理
- 修复
-
source-pre-KB3125574.zip:适用于未安装 2016 年 4 月前发布的更新或未安装 KB3125574(2016 年 5 月,且至少需安装 KB3020369(2015 年 4 月)服务堆栈更新)的 Windows 7 SP1 / Windows Server 2008 R2 SP1 的源代码包。该软件包可用于手动编译(bootstrap 引导构建),或将其中的
src目录复制到可用的 SDK 中使用。包含以下补丁:- 包含 go-for-win7-{GOOS}-{GOARCH}.zip 中的所有补丁
- 将
LoadLibraryExW调用替换为LoadLibraryA和LoadLibraryW调用 (KB2533623,2011 年 7 月) - 请注意:在本 SDK 中使用
LoadLibrary*相较于使用LoadLibraryEx*,在安全性方面可能有所降低
-
source-pre-SP1.zip:适用于未安装 Service Pack 1 (KB976932,2011 年 2 月)的 Windows 7 / Windows Server 2008 R2 的源代码包。该软件包可用于手动编译(bootstrap 引导构建),或将其中的
src目录复制到可用的 SDK 中使用。包含以下补丁:- 包含 source-pre-KB3125574.zip 中的所有补丁
- 将
WSASocket调用替换为sysSocket调用