petrbalvin
4ccd3bb4c6
test(debug): put the dead-debuggee and kill audits on deterministic ground
...
The launch-failure audit raced the clock: it asserted the dead debuggee
surfaced within 1.5 seconds, a bound the loaded machine behind a ten-way
test storm regularly starved past even though the poll detects the dead
notice within milliseconds of its appearance. The audit now proves the
property itself: a stub debuggee that starts in single-digit milliseconds
marks itself dead, so the notice is always inside the poll's budget and
the error must come from the dead-file watch, while the real binary is
checked without any wall-clock bound. A companion audit drives Kill
through a parked, a doubly killed and a run-to-exit session, the states
whose cleanup used to hang the package, under a watchdog.
Assisted-by: GLM 5.3
2026-10-07 13:46:29 +02:00
petrbalvin
b5d6f1b46a
fix(debug): target the traced thread and keep the kill from ever blocking
...
The Go runtime can migrate the debuggee's target-mode goroutine off the
process leader before PTRACE_TRACEME, which left the trace relation on a
thread the session never addressed: its stops starved the waits on the
leader, and a kill sequence that resumed nothing and then blocked in
Wait4 hung the whole package. The debuggee now reports the traced thread
in the launch handshake and parks with a thread-directed stop, every
ptrace request and wait addresses that thread, a SIGURG arriving on a
single-step resumes it as a single-step again instead of letting the
tracee run uncontrolled, a resume rejected with ESRCH lifts a group-stop
with SIGCONT and retries once, and Kill resumes, kills and reaps through
non-blocking waits so it returns for a tracee in any state.
Assisted-by: GLM 5.3
2026-10-07 13:46:18 +02:00
petrbalvin
02a6359c1f
ci: shrink the push pipeline to the affordable gate set
...
Test / test (push) Failing after 5m26s
Assisted-by: GLM 5.3 Flash
2026-10-02 16:47:52 +02:00
petrbalvin
f57377abb9
fix(debug): handle mapping edges, stray traps and dying debuggees
...
Assisted-by: GLM 5.3
2026-10-02 00:40:54 +02:00
petrbalvin
4d01bb3ecf
build: rename the module to sourcedock.dev/petrbalvin/gasm-sdk
Test / test (push) Successful in 4m18s
2026-09-26 11:08:43 +02:00
petrbalvin
b306c210c6
feat(debug): port the debugger to FreeBSD
...
Assisted-by: GLM 5.3 Flash
2026-09-25 21:46:40 +02:00
petrbalvin
f0d5238c47
docs: state the validation status and correct claims the material contradicts
...
Assisted-by: DeepSeek V4.1 Flash
2026-09-20 01:40:51 +02:00
petrbalvin
a8bfd54ed2
fix(debug): hardware watchpoints, signal stops and breakpoint restore
...
Assisted-by: GLM 5.3
2026-09-19 23:49:19 +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
4f190ee1a2
refactor(debug): move watchpoint slot state into the session
2026-09-14 18:22:00 +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
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
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
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
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
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
cb398d9498
feat(debug): headless script mode with timeout watchdog
2026-08-29 14:16:04 +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
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
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
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
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
cde7d0f96a
docs: document watchpoint slot tracking and update debugger commands
2026-08-07 22:27:49 +02:00
petrbalvin
f58a4fe51d
feat(debug): add named buffer allocation with pattern filling
Test / vet (push) Successful in 45s
Test / test (push) Successful in 1m58s
Test / build (push) Successful in 42s
2026-08-04 23:55:25 +02:00
petrbalvin
32afa3449f
feat(debug): add YMM vector register display via PTRACE_GETFPREGS
...
Assisted-by: DeepSeek V4 Pro
2026-08-04 21:55:28 +02:00
petrbalvin
2ab6b9eb84
ci: add Gitea CI workflows and release pipeline
...
Test / vet (push) Successful in 44s
Release / build (amd64, linux) (push) Successful in 39s
Release / build (arm64, linux) (push) Successful in 38s
Release / build (loong64, linux) (push) Successful in 39s
Release / build (riscv64, linux) (push) Successful in 39s
Test / test (push) Successful in 1m58s
Release / release (push) Successful in 18s
Test / build (push) Successful in 37s
Assisted-by: DeepSeek V4 Pro
2026-08-03 19:42:05 +02:00
petrbalvin
e7df5e5225
test(debug): add unit tests for condition evaluation, line lookup and
...
RFLAGS decoding
Assisted-by: MiniMax M3
2026-08-01 14:33:00 +02:00
petrbalvin
d114b3412c
feat(debug): complete the interactive debugger with disassembly, breakpoints, watchpoints and execution control
...
Assisted-by: DeepSeek V4 Pro
2026-08-01 09:47:00 +02:00
petrbalvin
89d633f4bb
feat(debug): add interactive ptrace debugger MVP — single-step, regs, breakpoints, labels
...
Assisted-by: Qwen 3.8 Max Preview
2026-08-01 02:34:00 +02:00