feat(asm): the operand forms and defines GOROOT writes
Assisted-by: GLM 5.3 Flash
This commit is contained in:
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [development]
|
||||
|
||||
### Fixed
|
||||
|
||||
- **The operand forms GOROOT writes.** Numeric PC-relative jumps
|
||||
(`JEQ 2(PC)`, the park loop `JMP 0(PC)`) resolve with the toolchain's
|
||||
own instruction counting and fold jump-to-jump chains exactly as its
|
||||
branch optimiser does; symbol immediates (`MOVQ $sym(SB), AX`)
|
||||
assemble to the toolchain's RIP-relative LEA with an R_PCREL
|
||||
relocation; negated constant expressions in operands (`ADJSP
|
||||
$-(REGS - 8)`, the shape the cgo ABI macros write) fold; 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 261 of 353
|
||||
files assembling for every target architecture (73.9 %), 87.5 % of
|
||||
the real-code corpus, from 70.8 % and 82.2 %.
|
||||
|
||||
### Added
|
||||
|
||||
- **Per-architecture reference pages.** [docs/asm/](docs/asm/README.md)
|
||||
|
||||
Reference in New Issue
Block a user