feat(asm): the segment-absolute and crash-store forms GOROOT writes
Test / test (push) Failing after 2m28s

Assisted-by: GLM 5.3 Flash
This commit is contained in:
2026-09-21 22:19:53 +02:00
parent 2c9042d62c
commit f720381d43
6 changed files with 105 additions and 5 deletions
+6 -4
View File
@@ -23,13 +23,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
(`BL R9` beside `BL (R9)`, both BLR) and the zero-immediate store
(`MOVD $0, mem` through the zero register, rejecting non-zero immediates
as the toolchain does); `PCALIGN` now aligns on amd64, padding with the
toolchain's greedy single-instruction NOPs; and `gasm asm` predefines
toolchain's greedy single-instruction NOPs; the segment-absolute forms
(`MOVQ 0x30(GS), AX` and the store direction) and the absolute
crash-store (`MOVL $0xf1, 0xf1`) encode; and `gasm asm` predefines
the `GOARCH_<arch>` and `GOOS_<goos>` macros the go command passes to
`go tool asm`, so GOROOT headers' `#ifdef GOARCH_amd64` platform blocks
(`go_tls.h`'s `get_tls` and friends) select as intended. The GOROOT
corpus measure moves to 285 of 353 files assembling for every target
architecture (80.7 %), 91.4 % of the real-code corpus (280 of 303),
from 70.8 % and 82.2 %.
corpus measure moves to 291 of 353 files assembling for every target
architecture (82.4 %), 97.4 % of the real-code corpus, from 70.8 %
and 82.2 %.
### Added