$ the-wire · showcase
Windows SendFile was reporting partial 2 GiB+ transfers as success
By RepoJournal · Filed · About Go · Composed from the cited sources · methodology
The day's real bug is in internal/poll on Windows, where an inverted error check hid TransmitFile failures on large files; the rest of the queue is loong64 codegen work and tooling hygiene.
internal/poll: don't drop TransmitFile errors in Windows SendFile golang/go
After a partial transfer SendFile seeks the source file to the end of the written data, and the check meant to preserve the transfer error was inverted: a TransmitFile error was replaced by the usually-nil Seek error, while a Seek error after a successful transfer was dropped. So a failure while sending a later chunk of a file larger than 2 GiB was reported as success. Only the Seek error is re...
refactor/satisfy: handle multi-valued and spread args to built-ins golang/tools
Spread calls to built-ins such as delete(f()) were handled wrongly, producing a panic or missing constraints; the fix factors out the tuple-unpacking logic and passes CallExpr.Ellipsis down instead of checking the argument. Matters if you run refactor/satisfy over code that spreads a multi-valued call into a builtin.
crypto/internal/fips140/aes: pre-swap enc[] round keys to state order on loong64 golang/go
expandKeyAsm now byte-swaps all enc[] round keys into state order once, in a new Phase 2.5, instead of having every consumer (encryptBlockAsm, ctrBlocks1/2/4/8Asm) redo the same VSHUFB swap at each AddRoundKey, once per round per block.
cmd/internal/obj/loong64: optimize the function stacksplit implementation golang/go
The loong64 stacksplit sequence for framesize <= StackSmall collapses from SGTU SP, stackguard, RT1 followed by a branch into a single BGEU stackguard, SP, morestack. Guoqi Chen's CL covers the same code path for every function call on the platform.
cmd/internal/obj/loong64: add unary destination instruction table golang/go
JIRL, previously a name with no concrete implementation, is replaced with JAL, the JMP and JAL OpCode definitions are corrected to match the actual loong64 machine-code formats, and JAL gets a plan9 form: JAL offset(RJ), RD. Any out-of-tree loong64 assembler work touching JIRL needs to move. The long tail is routine: a dead RET removed in the chacha8rand loong64 trampoline, a SIMD instruction-i...