docs: update CHANGELOG and README for development changes
Assisted-by: MiMo V2.5 Pro
This commit is contained in:
+38
-1
@@ -11,7 +11,44 @@ Unreleased changes on the `development` branch.
|
||||
|
||||
### Added
|
||||
|
||||
-
|
||||
- **Multi-architecture debugger.** `gasm debug` works on arm64, riscv64
|
||||
and loong64 in addition to amd64. Each architecture has its own ptrace
|
||||
register access, disassembler (`golang.org/x/arch`), register display,
|
||||
and stop-info handler. The REPL is fully arch-neutral.
|
||||
- **JIT execution trampolines.** `verify.Call` now works on all four
|
||||
architectures via hand-written assembly trampolines
|
||||
(`trampoline_{arm64,riscv64,loong64}.s`) that save the Go stack, switch
|
||||
to a prepared stack, and branch to the JIT function.
|
||||
- **Hardware watchpoints on all architectures.** arm64 uses DBGWVR/DBGWCR
|
||||
via `PTRACE_SETREGSET` with `NT_ARM_HW_BREAK`; riscv64 and loong64 use
|
||||
`PTRACE_POKEUSER` to access trigger/debug registers.
|
||||
- **LSP: find references** (`textDocument/references`).
|
||||
- **LSP: rename symbol** (`textDocument/rename`).
|
||||
- **LSP: document formatting** (`textDocument/formatting`) using the
|
||||
`format` package for canonical gofmt-style output.
|
||||
- **LSP: inlay hints** (`textDocument/inlayHint`) — frame size hints after
|
||||
the TEXT directive's argument area.
|
||||
- **Lint: `unused-label` rule.** Flags labels that are defined but never
|
||||
referenced by any jump (Hint severity).
|
||||
- **Lint: `invalid-textflag` rule.** Flags TEXT/GLOBL flags not in the
|
||||
known set from `textflag.h` (Warning severity).
|
||||
- **Lint: `stack-imbalance` rule.** Tracks SP changes and flags if the
|
||||
net delta at RET does not match the declared frame size.
|
||||
- **DWARF5 debug sections in ELF output.** All four ELF emitters now emit
|
||||
`.debug_abbrev`, `.debug_info`, `.debug_line`, and `.debug_line_str`
|
||||
sections, enabling `addr2line` and GDB/LLDB source-level debugging.
|
||||
|
||||
### Fixed
|
||||
|
||||
- **arm64 BL relocation.** `BL sym(SB)` now records a `RelArm64Branch`
|
||||
relocation instead of emitting a bare instruction with no relocation.
|
||||
- **GOOBJ R_ADDRARM64 constant.** Corrected from 9 (`R_CALLARM64`) to 3
|
||||
(`R_ADDRARM64`).
|
||||
- **Cross-package GOOBJ resolution.** `AssembleFileRISCV`,
|
||||
`AssembleFileLOONG64`, and `AssembleFileARM64` now mark external
|
||||
relocations and populate `img.Externals`, enabling cross-package symbol
|
||||
resolution in GOOBJ output.
|
||||
- **asm help text.** Updated to list arm64 as a supported architecture.
|
||||
|
||||
## [0.31.1] — 2026-08-20
|
||||
|
||||
|
||||
Reference in New Issue
Block a user