[Audit] bring the audit_61 branch probe onto sylpheed-re #2

Merged
fabi merged 1 commits from fix/audit61-onto-sylpheed-re into sylpheed-re 2026-09-21 16:03:11 +00:00

1 Commits

Author SHA1 Message Date
fcdc2659fc [Audit] bring the audit_61 branch probe onto sylpheed-re
Some checks failed
Orchestrator / Commit Message Validation (push) Has been skipped
Orchestrator / Lint (push) Failing after 2m38s
Orchestrator / Commit Message Validation (pull_request) Successful in 45s
Orchestrator / Lint (pull_request) Failing after 1m1s
Orchestrator / Windows (x86-64) (push) Has been skipped
Orchestrator / Linux (x86-64) (push) Has been skipped
Orchestrator / Create Release (push) Has been skipped
Orchestrator / Windows (x86-64) (pull_request) Has been skipped
Orchestrator / Linux (x86-64) (pull_request) Has been skipped
Orchestrator / Create Release (pull_request) Has been skipped
Fork issue #1: `--audit_61_branch_probe_pcs` existed only on
`phase-a-tracing` and the 2026-07-28 snapshot, so `/sylph-canary` -- which
drives probe runs and parses hit counts -- could not work. Measured, not
assumed: `strings` on both built binaries gives zero hits for the cvar.

MERGE, NOT REBUILD. `phase-a-tracing` is ONE commit past the common ancestor
while `sylpheed-re` is 232 commits ahead of it, so rebuilding from that branch
would have discarded 232 commits including the RE-INPUT/RE-DRAW instrumentation.
Bringing the one commit forward is the cheap direction.

Cherry-picked a15430902 (30d05ee97 does NOT introduce the probe -- it is the
cross-build snapshot). Three conflicts, each resolved on evidence:

  * `kernel/event_log.cc` looked like two rival implementations -- 726 lines
    vs 709 -- but they share 709 lines and differ by 19: ours is a strict
    SUPERSET, phase-a's file plus a later `phase_a_fileio_only` mode that
    suppresses per-export log spam. Took ours whole.
  * `cpu/cpu_flags.{cc,h}`: taken as a verified UNION rather than hand-edited.
    Theirs contributes 11 cvars (audit_61 plus audit_67/68/69/70 and the demo
    marker); ours contributes `phase_a_fileio_only` and
    `kernel_emit_contention`. Asserted afterwards that no flag present on
    either side is missing from the result -- which caught
    `kernel_emit_contention`, that a take-theirs would have dropped silently.

All ten probe cvars are referenced by the cleanly-merged `x64_emitter.cc` and
`ppc_hir_builder.cc`, so they are load-bearing, not decoration. The three
`audit_jit_prolog_*` cvars that look undeclared are DEFINE_uint32 in the
translation unit that uses them -- pre-existing on sylpheed-re, not this merge.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-20 20:43:27 +02:00