docs: sync rule counts and feature lists with the new capabilities
Assisted-by: GLM 5.3 Flash
This commit is contained in:
@@ -17,7 +17,7 @@ developer tooling to Plan 9 assembly on amd64, arm64, riscv64 and loong64.
|
|||||||
- **Formatter.** `gasm fmt` canonicalises indentation, operand spacing,
|
- **Formatter.** `gasm fmt` canonicalises indentation, operand spacing,
|
||||||
per-function mnemonic alignment and blank-line layout: `gofmt` for assembly,
|
per-function mnemonic alignment and blank-line layout: `gofmt` for assembly,
|
||||||
operating recursively on directories the way `go fmt` does.
|
operating recursively on directories the way `go fmt` does.
|
||||||
- **Linter.** `gasm lint` runs 17 conservative static checks, among them
|
- **Linter.** `gasm lint` runs 18 conservative static checks, among them
|
||||||
`undefined-label`, `abi-argsize` (declared frame vs the `// func` signature),
|
`undefined-label`, `abi-argsize` (declared frame vs the `// func` signature),
|
||||||
`register-clobber` (Go ABI register liveness over the control-flow graph),
|
`register-clobber` (Go ABI register liveness over the control-flow graph),
|
||||||
`stack-imbalance`, `abi0-register-args` and `unencodable-instruction`.
|
`stack-imbalance`, `abi0-register-args` and `unencodable-instruction`.
|
||||||
@@ -33,9 +33,10 @@ developer tooling to Plan 9 assembly on amd64, arm64, riscv64 and loong64.
|
|||||||
breakpoints (optionally conditional), hardware watchpoints, register and
|
breakpoints (optionally conditional), hardware watchpoints, register and
|
||||||
memory inspection, and headless script runs with label-level coverage.
|
memory inspection, and headless script runs with label-level coverage.
|
||||||
- **Language server.** `gasm lsp` serves completion, hover, document symbols,
|
- **Language server.** `gasm lsp` serves completion, hover, document symbols,
|
||||||
diagnostics, semantic-token highlighting, go-to-definition, find references,
|
push and pull diagnostics, semantic-token highlighting, go-to-definition,
|
||||||
rename, formatting, inlay hints, code actions, signature help, document
|
find references, rename, formatting, inlay hints, code actions, signature
|
||||||
highlights and workspace symbol search over stdio.
|
help, document highlights, workspace symbol search, #include document
|
||||||
|
links and folding ranges over stdio.
|
||||||
- **Comparators and audits.** `gasm diff` compares the machine code of two
|
- **Comparators and audits.** `gasm diff` compares the machine code of two
|
||||||
assembly files byte-for-byte, `gasm profile` shows basic-block structure,
|
assembly files byte-for-byte, `gasm profile` shows basic-block structure,
|
||||||
`gasm audit-instructions` diffs the encoder against the installed toolchain,
|
`gasm audit-instructions` diffs the encoder against the installed toolchain,
|
||||||
|
|||||||
+10
-3
@@ -100,8 +100,8 @@ are `unknown-instruction`, `operand-count`, `undefined-label`,
|
|||||||
`duplicate-label`, `missing-ret`, `missing-textflag-include`, `abi-argsize`,
|
`duplicate-label`, `missing-ret`, `missing-textflag-include`, `abi-argsize`,
|
||||||
`unreachable-code`, `register-clobber`, `funcdata-pcdata`, `unused-label`,
|
`unreachable-code`, `register-clobber`, `funcdata-pcdata`, `unused-label`,
|
||||||
`invalid-textflag`, `stack-imbalance`, `register-width-mismatch`,
|
`invalid-textflag`, `stack-imbalance`, `register-width-mismatch`,
|
||||||
`abi0-register-args`, `nonportable-register-name` and
|
`abi0-register-args`, `nonportable-register-name`,
|
||||||
`unencodable-instruction`. Every diagnostic carries a stable
|
`unencodable-instruction` and `reserved-register-write`. Every diagnostic carries a stable
|
||||||
code so callers can disable rules individually, and arch-specific rules switch
|
code so callers can disable rules individually, and arch-specific rules switch
|
||||||
off entirely when the target architecture cannot be inferred from the file name.
|
off entirely when the target architecture cannot be inferred from the file name.
|
||||||
|
|
||||||
@@ -192,6 +192,10 @@ document store, republishes diagnostics on every change, and provides:
|
|||||||
(the frame size after the TEXT argument area), signature help (the callee's
|
(the frame size after the TEXT argument area), signature help (the callee's
|
||||||
`// func` signature while the cursor is on a `CALL`), and code actions
|
`// func` signature while the cursor is on a `CALL`), and code actions
|
||||||
offering quick fixes for the `missing-ret` and `unused-label` diagnostics.
|
offering quick fixes for the `missing-ret` and `unused-label` diagnostics.
|
||||||
|
- **document information**: pull diagnostics (`textDocument/diagnostic`),
|
||||||
|
#include document links (resolved against the document directory, then
|
||||||
|
`$GOROOT/pkg/include`) and folding ranges (one collapsible region per
|
||||||
|
TEXT function body).
|
||||||
|
|
||||||
Semantic tokens are the key to editor-agnostic highlighting: the editor renders
|
Semantic tokens are the key to editor-agnostic highlighting: the editor renders
|
||||||
them from the standard LSP legend, so no editor-specific grammar is needed.
|
them from the standard LSP legend, so no editor-specific grammar is needed.
|
||||||
@@ -389,7 +393,10 @@ invokes a single function with user-supplied buffers (patterns: zero, ones,
|
|||||||
seq, or hex), printing the ABI0 argument block before and after the call,
|
seq, or hex), printing the ABI0 argument block before and after the call,
|
||||||
useful for partial functions (e.g. decoders) that crash on random input but
|
useful for partial functions (e.g. decoders) that crash on random input but
|
||||||
should succeed on valid data; `--args name=value,...` supplies scalar
|
should succeed on valid data; `--args name=value,...` supplies scalar
|
||||||
arguments (decimal or `0x` hex) alongside the buffers. `gasm verify
|
arguments (decimal or `0x` hex) alongside the buffers. `--save-corpus`
|
||||||
|
records every input that crashes or mismatches as replayable JSON, and
|
||||||
|
`--replay` re-runs saved entries in isolated child processes, reporting
|
||||||
|
whether each reproduces. `gasm verify
|
||||||
--ground-truth` compares the
|
--ground-truth` compares the
|
||||||
assembled machine code byte-for-byte against `go tool asm` (relocation sites
|
assembled machine code byte-for-byte against `go tool asm` (relocation sites
|
||||||
masked), reporting any encoding drift.
|
masked), reporting any encoding drift.
|
||||||
|
|||||||
Reference in New Issue
Block a user