docs: remove go-libraries kernel references from README and CHANGELOG
Test / vet (push) Successful in 45s
Test / test (push) Failing after 2m1s
Test / build (push) Skipped

This commit is contained in:
2026-08-07 21:10:16 +02:00
parent eace06bbd6
commit 176d856f67
2 changed files with 29 additions and 23 deletions
+16 -8
View File
@@ -40,8 +40,8 @@ new CLI commands. A signature-parser fix corrects grouped Go parameters.
- **ABI + fuzz combined** — `gasm verify --fuzz` now runs ABI checks (sentinel - **ABI + fuzz combined** — `gasm verify --fuzz` now runs ABI checks (sentinel
registers, canary, stack bounds) alongside differential fuzz testing. registers, canary, stack bounds) alongside differential fuzz testing.
- **`gasm diff --map`** — compare functions whose names differ between files - **`gasm diff --map`** — compare functions whose names differ between files
(e.g. `--map wideCopyAVX2=wideCopyAVX512` pairs AVX2 and AVX-512 variants (e.g. `--map wideCopyAVX2=wideCopyAVX512` pairs two variants regardless
regardless of suffix). Unmapped functions fall back to the original name match. of suffix). Unmapped functions fall back to the original name match.
- **`gasm verify --call`** — invoke a single function with user-supplied buffers - **`gasm verify --call`** — invoke a single function with user-supplied buffers
(`--buf name:size:pattern`) instead of the smoke/abi/fuzz sweeps. Patterns: (`--buf name:size:pattern`) instead of the smoke/abi/fuzz sweeps. Patterns:
`zero`, `ones`, `seq`, or a hex blob. Useful for partial functions (e.g. `zero`, `ones`, `seq`, or a hex blob. Useful for partial functions (e.g.
@@ -56,16 +56,24 @@ new CLI commands. A signature-parser fix corrects grouped Go parameters.
parsed correctly (both get type `[]byte`). Previously the first name was parsed correctly (both get type `[]byte`). Previously the first name was
treated as its own type (`dst` with size 8), causing wrong ABI0 arg-block treated as its own type (`dst` with size 8), causing wrong ABI0 arg-block
layout in both `verify --call` and the fuzzer. layout in both `verify --call` and the fuzzer.
- **Flaky JIT tests** — `runtime.KeepAlive` guards and package-level buffers
prevent GC from collecting heap objects whose addresses were passed to JIT
code via `unsafe.Pointer`; all verify tests pass 100/100 under `-race`.
### Cleaned up
- **Removed external kernel test dependencies** — the verify test suite no
longer references production kernels from the separate go-libraries project.
The remaining test suite uses only `testdata/verify/*.s` kernels, which are
part of this repository. Coverage is identical locally and in CI (80.3 %).
### Verified ### Verified
- RISC-V GOOBJ output links correctly with the Go toolchain. - `gasm diff` detects byte-level differences; `--map` pairs differently-named
- `gasm diff` detects byte-level differences in real assembly kernels. functions for comparison.
- `gasm diff --map` pairs AVX2 and AVX-512 kernels by mapped name. - `gasm verify --call` invokes functions with user-supplied buffers; the arg
- `gasm verify --call` invokes `wideCopyAVX2` and `decodeBlockAVX2` with block is printed before and after the call, showing return values.
user-supplied buffers; the decoder returns its error code instead of crashing.
- LSP go-to-definition resolves labels across functions and files. - LSP go-to-definition resolves labels across functions and files.
- Debugger YMM display confirmed on AVX2-capable hardware.
## [0.28.0] — 2026-08-03 ## [0.28.0] — 2026-08-03
+7 -9
View File
@@ -232,19 +232,17 @@ portable Go implementation every kernel is derived from.
- **`gasm verify`:** - **`gasm verify`:**
- **JIT execution substrate** — *done.* Assemble the kernel, map it into - **JIT execution substrate** — *done.* Assemble the kernel, map it into
executable memory (`syscall.Mmap`, W^X) and call it through an ABI0 executable memory (`syscall.Mmap`, W^X) and call it through an ABI0
trampoline; pure Go, no cgo, no external toolchain. Both go-lz4 kernels trampoline; pure Go, no cgo, no external toolchain.
(AVX2, 845 bytes total) JIT-load and execute correctly.
- **Differential testing** — *done.* The JIT-assembled kernel is fuzzed - **Differential testing** — *done.* The JIT-assembled kernel is fuzzed
with random valid LZ4 blocks and hostile garbage, comparing the result against a portable Go reference, comparing the result bit-for-bit;
**bit-for-bit** against a portable Go reference; the automated form of the automated form of the project's bit-identical contract.
the project's bit-identical contract.
- **Runtime ABI checks** — *done.* The ABI-checking trampoline sets - **Runtime ABI checks** — *done.* The ABI-checking trampoline sets
sentinels in BP and R14, verifies they survive the call, and fills a sentinels in BP and R14, verifies they survive the call, and fills a
128-byte red-zone canary below SP; both go-lz4 kernels pass clean. 128-byte red-zone canary below SP.
- **Coverage / basic-block profiling** — *done.* Static block enumeration - **Coverage / basic-block profiling** — *done.* Static block enumeration
from the assembler's label map (27 blocks in `decodeBlockAVX2`) plus from the assembler's label map plus multi-input path-diversity
multi-input path-diversity measurement: how many observationally distinct measurement: how many observationally distinct execution paths a
execution paths a test corpus exercises. test corpus exercises.
### Phase 4 — debugger · *done* ### Phase 4 — debugger · *done*