petrbalvin
0078f7be5c
style: purge em dashes from the produced text
...
Assisted-by: GLM 5.3 Flash
2026-09-16 23:12:31 +02:00
petrbalvin
6a7317d141
chore: trim the ignore list to the convention
...
Assisted-by: GLM 5.3 Flash
2026-09-16 22:53:01 +02:00
petrbalvin
d08523caa5
docs: move the recipe and version descriptions with the behaviour
...
Assisted-by: GLM 5.3 Flash
2026-09-16 22:53:01 +02:00
petrbalvin
20e4b8d9c4
ci: align the pipelines with the hand-written templates
...
Assisted-by: GLM 5.3 Flash
2026-09-16 22:53:01 +02:00
petrbalvin
61f4247cef
refactor(gasm): report the toolchain-recorded version
...
Assisted-by: GLM 5.3 Flash
2026-09-16 22:53:01 +02:00
petrbalvin
049872ddff
build: restore the canonical justfile recipe set
...
Assisted-by: GLM 5.3 Flash
2026-09-16 22:53:01 +02:00
petrbalvin
3669f64ff6
build: install the gasm binary into the user-local bin directory
Test / vet (push) Successful in 46s
Test / test (push) Successful in 2m44s
Test / build (push) Successful in 42s
2026-09-14 23:41:21 +02:00
petrbalvin
fff9f75595
chore: prepare release v0.33.0
Release / build (amd64, linux) (push) Successful in 49s
Release / build (arm64, linux) (push) Successful in 43s
Release / build (loong64, linux) (push) Successful in 46s
Release / build (riscv64, linux) (push) Successful in 45s
Test / vet (push) Successful in 47s
Release / release (push) Successful in 18s
Test / test (push) Successful in 2m39s
Test / build (push) Successful in 43s
2026-09-14 23:36:19 +02:00
petrbalvin
40476546df
fix(asm): close the oracle parity gaps in frame addressing and calls
2026-09-14 23:25:14 +02:00
petrbalvin
70218e84ba
feat(asm): emit the loong64 stack-split guard for big frames
2026-09-14 22:38:58 +02:00
petrbalvin
db50b98179
feat(asm): emit the loong64 stack-split guard for small and medium frames
2026-09-14 21:21:58 +02:00
petrbalvin
2e2c0b82a0
feat(asm): emit the riscv64 stack-split guard and fix large-frame addressing
2026-09-14 21:09:13 +02:00
petrbalvin
8dc1e98ca1
feat(asm): emit the arm64 stack-split guard and morestack block
2026-09-14 20:49:03 +02:00
petrbalvin
1d8e68c574
feat(asm): emit the amd64 stack-split guard and morestack block
2026-09-14 20:35:55 +02:00
petrbalvin
89fa6ea15e
feat(lsp): resolve definition and references across open documents
2026-09-14 18:50:55 +02:00
petrbalvin
edc20ffa97
feat(cmd): add gasm dis and share the decoder with the debugger
2026-09-14 18:47:08 +02:00
petrbalvin
50db6615b2
feat(cmd): add gofmt-style -l and -d modes to gasm fmt
2026-09-14 18:47:08 +02:00
petrbalvin
95f1d6f083
style: replace em dashes in the scaffold comments
2026-09-14 18:22:25 +02:00
petrbalvin
f43e791e5a
chore: add .qwen to the gitignore metadata block
2026-09-14 18:22:18 +02:00
petrbalvin
1691c81095
style: replace em and en dashes across sources
2026-09-14 18:22:18 +02:00
petrbalvin
2db563be07
refactor(cmd): consolidate cross-arch verify and drop dead code
2026-09-14 18:22:00 +02:00
petrbalvin
4f190ee1a2
refactor(debug): move watchpoint slot state into the session
2026-09-14 18:22:00 +02:00
petrbalvin
909f874797
fix(lsp): recover from handler panics and decode client uris
2026-09-14 18:22:00 +02:00
petrbalvin
e307bf830f
fix(lint): guard unnamed TEXT and refresh the textflag table
2026-09-14 18:22:00 +02:00
petrbalvin
953c258d6a
fix(asm): make arm64 and loong64 relocations match the toolchain
2026-09-14 18:22:00 +02:00
petrbalvin
c6f0286732
fix(asm): encode amd64 frame adjustments above 127 bytes with imm32
2026-09-14 18:22:00 +02:00
petrbalvin
f5fc22d390
fix(parser): reject malformed TEXT frames and parse signed frame sizes
2026-09-14 18:22:00 +02:00
petrbalvin
22226d59a5
chore: prepare release v0.32.0
...
Release / build (amd64, linux) (push) Successful in 43s
Release / build (arm64, linux) (push) Successful in 42s
Release / build (loong64, linux) (push) Successful in 43s
Release / build (riscv64, linux) (push) Successful in 43s
Test / vet (push) Successful in 49s
Release / release (push) Successful in 18s
Test / test (push) Successful in 2m40s
Test / build (push) Successful in 42s
Assisted-by: GLM 5.3 Flash
2026-08-31 13:10:37 +02:00
petrbalvin
a0ae0e4e37
docs: audit the development changelog against the release delta
...
Assisted-by: GLM 5.3 Flash
2026-08-31 12:53:36 +02:00
petrbalvin
94c4756d47
fix(verify): fix non-amd64 JIT trampolines and validate under qemu
2026-08-31 12:34:50 +02:00
petrbalvin
a5a59d6503
fix(verify): gate JIT verification to amd64 until trampolines are hardened
Test / vet (push) Successful in 48s
Test / test (push) Successful in 2m34s
Test / build (push) Successful in 41s
2026-08-30 22:48:48 +02:00
petrbalvin
9cb1666b35
fix(debug): make ptrace sessions reliable on Go tracees
2026-08-30 22:35:22 +02:00
petrbalvin
96cc70731f
docs: sync rule counts and feature lists with the new capabilities
...
Assisted-by: GLM 5.3 Flash
2026-08-30 21:42:12 +02:00
petrbalvin
b4da13d0f6
feat(lsp): pull diagnostics, include links and folding ranges
...
Assisted-by: GLM 5.3 Flash
2026-08-30 21:42:12 +02:00
petrbalvin
41b387e54d
feat(debug): instruction-level coverage and FP register display
...
Assisted-by: GLM 5.3 Flash
2026-08-30 21:42:12 +02:00
petrbalvin
4171e412b5
feat(verify): save and replay fuzz corpora
...
Assisted-by: GLM 5.3 Flash
2026-08-30 21:42:12 +02:00
petrbalvin
57c0ca8b09
feat(gasm): audit-instructions for arm64, riscv64 and loong64
...
Assisted-by: GLM 5.3 Flash
2026-08-30 21:42:12 +02:00
petrbalvin
75bd83fd52
feat(lint): flag writes to the platform-reserved register
2026-08-30 21:42:12 +02:00
petrbalvin
62f6fb4faf
fix(debug): cross-compile for arm64, riscv64 and loong64
...
Test / vet (push) Successful in 47s
Test / test (push) Successful in 2m35s
Test / build (push) Successful in 40s
Assisted-by: GLM 5.3 Flash
2026-08-30 11:27:54 +02:00
petrbalvin
8f84dac10b
feat(verify): ABI checks on arm64, riscv64 and loong64
...
Assisted-by: GLM 5.3 Flash
2026-08-30 11:27:54 +02:00
petrbalvin
6d7f10f13e
refactor(cmd): re-enter child modes via environment instead of hidden flags
...
Assisted-by: GLM 5.3 Flash
2026-08-30 11:00:40 +02:00
petrbalvin
56f8babbce
docs: sync README, CHANGELOG and docs with the current state
2026-08-30 10:44:18 +02:00
petrbalvin
6c1c8d9d96
fix: point the coverage gate at the format package
2026-08-30 10:43:55 +02:00
petrbalvin
93794c02f7
chore: untrack .idea files
2026-08-30 10:43:45 +02:00
petrbalvin
56ad158772
fix: restore iota blocks, asm --format flag and prose after the syntax pass
Test / vet (push) Successful in 48s
Test / test (push) Successful in 2m35s
Test / build (push) Successful in 40s
2026-08-29 17:12:53 +02:00
petrbalvin
15e8b88d32
style: modernize the new tooling code to match the repo conventions
2026-08-29 16:15:14 +02:00
petrbalvin
9beff4ae85
style: modernize to splitseq, cut, min, maps.copy and range-over-int
2026-08-29 16:04:32 +02:00
petrbalvin
eacf33d0f7
fix: staticcheck and deadcode findings repo-wide, modernize counting loops
2026-08-29 15:25:15 +02:00
petrbalvin
9a34733615
style(parser): cutprefix, default case, comma and tokens rename
2026-08-29 15:14:49 +02:00
petrbalvin
970df7c32a
style(lint): drop duplicate rule code declaration
2026-08-29 15:14:49 +02:00
petrbalvin
49572efe16
style: gofmt the audit command
2026-08-29 14:25:02 +02:00
petrbalvin
568c553986
docs: document the audit, scaffold, scalar-args and headless debug additions
2026-08-29 14:24:52 +02:00
petrbalvin
7a30e902fc
feat(debug): label coverage report for headless runs
2026-08-29 14:17:26 +02:00
petrbalvin
cb398d9498
feat(debug): headless script mode with timeout watchdog
2026-08-29 14:16:04 +02:00
petrbalvin
e44162a749
feat(verify): scalar arguments for -call invocations
2026-08-29 14:03:45 +02:00
petrbalvin
6fb9629ab6
fix(gasm): scaffold shared param names and two-sided seed sets
2026-08-29 13:57:04 +02:00
petrbalvin
8bda4066e3
feat(gasm): audit-instructions command and scaffold generator
2026-08-29 13:52:32 +02:00
petrbalvin
685b150ecf
feat(lint): flag table-known instructions the encoder cannot emit
2026-08-29 13:42:47 +02:00
petrbalvin
c92e6bed3a
feat(lint): nonportable amd64 register name rule
2026-08-29 13:39:22 +02:00
petrbalvin
d75e6bcae6
feat(lint): abi0 register-args rule and go-asm width model
2026-08-29 13:36:28 +02:00
petrbalvin
6699ebd34f
feat(asm): add prefetch hint encoding
Test / vet (push) Successful in 51s
Test / test (push) Successful in 2m37s
Test / build (push) Successful in 41s
2026-08-29 10:42:15 +02:00
petrbalvin
ba4d961b20
fix(asm): ADDQ imm8 frame adjust for 128-255 byte frames
2026-08-28 22:11:24 +02:00
petrbalvin
78b12dd427
fix(asm): match go tool asm encodings and strictness
2026-08-28 19:55:25 +02:00
petrbalvin
19a26e049b
feat(asm): add vpcmp compare, full opmask set, legacy sse integers and bswap
...
Test / vet (push) Successful in 47s
Test / test (push) Successful in 2m35s
Test / build (push) Successful in 41s
Assisted-by: GLM 5.3
2026-08-27 22:41:03 +02:00
petrbalvin
163480e283
feat(amd64): encode scalar/double conversion ops (CVTSS2SD/CVTSD2SS/CVTPS2PD/CVTPD2PS)
2026-08-27 22:02:11 +02:00
petrbalvin
0d62818db7
feat(amd64): encode legacy SSE binaries, imm8 shuffles and MOVQ xmm moves
2026-08-27 22:02:11 +02:00
petrbalvin
be2ceaafb9
feat(amd64): encode legacy SSE packed binaries and imm8 shuffles
Test / vet (push) Successful in 47s
Test / test (push) Successful in 2m34s
Test / build (push) Successful in 41s
2026-08-27 17:15:10 +02:00
petrbalvin
941f7fa990
chore: set development version to 0.32.0-dev
...
Test / vet (push) Successful in 48s
Test / test (push) Successful in 3m2s
Test / build (push) Successful in 47s
Assisted-by: GLM 5.3
2026-08-24 21:03:30 +02:00
petrbalvin
eb3c79c3c8
fix(verify): isolate smoke and abi sweeps in a child process
...
Assisted-by: GLM 5.3
2026-08-24 21:01:32 +02:00
petrbalvin
eade875b53
fix(asm): compress movq immediates to the go-tool-asm imm32 forms
...
Assisted-by: GLM 5.3
2026-08-24 20:23:39 +02:00
petrbalvin
b08005753e
fix(asm): encode BSF, BSR and POPCNT
...
Assisted-by: GLM 5.3
2026-08-24 20:19:34 +02:00
petrbalvin
5e06d6a6aa
feat(lint): add register-width-mismatch rule
...
Test / vet (push) Successful in 48s
Test / test (push) Successful in 2m31s
Test / build (push) Successful in 44s
Assisted-by: MiMo V2.5 Pro
2026-08-21 01:20:38 +02:00
petrbalvin
e4c9d78968
feat(lsp): add workspace symbol search
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 01:20:35 +02:00
petrbalvin
f5fcaf9fa6
perf(verify): parallelize smoke and ABI checks
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 01:20:31 +02:00
petrbalvin
94b98468bb
feat(debug): support register-register conditional breakpoints
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 01:20:25 +02:00
petrbalvin
746cef8100
feat(asm): add .debug_frame CFI section for stack unwinding
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 01:20:21 +02:00
petrbalvin
f153be8158
feat(lsp): add code actions, signature help, and document highlights
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 01:20:14 +02:00
petrbalvin
1bf95a169e
fix: resolve audit findings — stale text, dead code, build tags, docs
...
Test / vet (push) Successful in 47s
Test / test (push) Successful in 2m39s
Test / build (push) Successful in 42s
Assisted-by: MiMo V2.5 Pro
2026-08-21 00:50:31 +02:00
petrbalvin
f9eb4021d6
docs: update CHANGELOG and README for development changes
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 00:39:38 +02:00
petrbalvin
c4930438fd
refactor(lsp): use format package for document formatting
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 00:35:21 +02:00
petrbalvin
f372e2db75
test(lsp): add tests for references, rename, formatting, inlay hints
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 00:35:21 +02:00
petrbalvin
ac02c83a86
feat(lint): add stack-imbalance rule
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 00:35:21 +02:00
petrbalvin
ce5ec24fa8
feat(asm): integrate DWARF5 sections into all ELF emitters
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 00:35:21 +02:00
petrbalvin
181d8e508c
feat(verify): add Call trampolines for arm64, riscv64, loong64
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 00:35:21 +02:00
petrbalvin
1160c96427
chore: remove stale debug_linux_amd64.go
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 00:35:21 +02:00
petrbalvin
de9e211ff1
feat(debug): multi-architecture debugger support for arm64, riscv64, loong64
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 00:35:21 +02:00
petrbalvin
3acbdd6533
feat(asm): add DWARF5 debug info generation for ELF output
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 00:35:21 +02:00
petrbalvin
ba502c9b79
refactor(debug): make Regs and breakpoint arch-neutral for arm64
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 00:35:21 +02:00
petrbalvin
874e054ecb
feat(lsp): add references, rename, formatting, and inlay hints
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 00:35:21 +02:00
petrbalvin
f1960febdc
feat(lint): add unused-label and invalid-textflag rules
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 00:35:21 +02:00
petrbalvin
ae550cc05a
fix(asm): add cross-package GOOBJ resolution for riscv64, loong64, arm64
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 00:35:21 +02:00
petrbalvin
cc50035375
fix(cmd): update asm help text to list arm64 as supported
...
Assisted-by: MiMo V2.5 Pro
2026-08-21 00:35:21 +02:00
petrbalvin
8054fff9ac
chore: prepare release v0.31.1
...
Test / vet (push) Successful in 47s
Release / build (amd64, linux) (push) Successful in 55s
Release / build (arm64, linux) (push) Successful in 51s
Release / build (loong64, linux) (push) Successful in 46s
Release / build (riscv64, linux) (push) Successful in 42s
Test / test (push) Successful in 2m29s
Release / release (push) Successful in 19s
Test / build (push) Successful in 42s
Assisted-by: MiMo V2.5 Pro
2026-08-20 22:35:11 +02:00
petrbalvin
6a79c35bf7
fix(version): bump version to 0.31.0 in justfile and main.go
...
Assisted-by: MiMo V2.5 Pro
2026-08-20 22:35:11 +02:00
petrbalvin
6f4f2096e9
chore: prepare release v0.31.0
Release / build (amd64, linux) (push) Successful in 42s
Release / build (arm64, linux) (push) Successful in 40s
Release / build (loong64, linux) (push) Successful in 42s
Release / build (riscv64, linux) (push) Successful in 45s
Release / release (push) Successful in 18s
2026-08-20 16:24:33 +02:00
petrbalvin
56630f8624
chore(toolchain): upgrade to Go 1.27
Test / vet (push) Successful in 1m5s
Test / test (push) Successful in 2m33s
Test / build (push) Successful in 40s
2026-08-20 16:03:26 +02:00
petrbalvin
459f4a2b6e
fix(test): add arm64 encoding tests for Go 1.26 coverage compatibility
...
Assisted-by: MiMo V2.5 Pro
2026-08-20 15:44:23 +02:00
petrbalvin
5d66343488
fix(goobj): make R_DWTXTADDR_U4 relocation type Go-version-aware
...
The relocation type number shifted between Go 1.26 (103) and Go 1.27
(106)
because new LoongArch relocations were inserted. Detect the Go version
at
runtime and use the correct value.
2026-08-20 15:35:39 +02:00
petrbalvin
48334c4d5a
docs: remove completed roadmap phases, fix licence description
2026-08-20 15:01:57 +02:00
petrbalvin
7629963cab
chore: fix project conventions — .gitignore, CHANGELOG categories, docs naming
...
Assisted-by: MiMo V2.5 Pro
2026-08-20 14:47:39 +02:00