← board

Drop the stale known tags on the string.h and _Bool probes

What

These three probes are declared probe <name> known:

tools/gcc_diff_probe.sh:173   probe str-chr-nul   known
tools/gcc_diff_probe.sh:184   probe str-str-empty known
tools/gcc_diff_probe.sh:247   probe mem-chr-miss  known

They were tagged because they diverged on i386/arm32. They no longer do. The divergence was never in strchr/strstr/memchr — it was the pointer difference in the probes' own printf call being pushed at 8 bytes on ILP32, which displaced every later argument. That is fixed.

Measured before and after the fix, same tree otherwise:

target before after
i386 0 new, 3 known 0 new, 0 known
arm32 0 new, 3 known 0 new, 0 known

Why it matters now

known means "diverges, and we have decided not to be surprised". While the tag stands, these three can regress back to diverging and the probe will report 0 NEW divergences and exit clean. The tag has flipped from suppressing a real known issue to suppressing a real regression — which is the failure mode a differential oracle exists to prevent.

Do

Drop the known tag from all three so they are judged normally. Confirm with tools/gcc_diff_probe.sh --target i386 and --target arm32 — both should stay at 0 new / 0 known.

bool-and-negative-zero-int is stale too — confirmed since filing. bug-a-bool-conversion-does-not-normalise-to-0-or-1 landed and that probe now passes natively (x86-64 went 1 new, 1 known -> 1 new, 0 known). Drop its tag as well; it is declared at tools/gcc_diff_probe.sh:1348.

That leaves int64-to-double as the only known tag still worth checking — it has its own ticket (bug-c-int64-to-double-cast-truncates-on-32bit) and did NOT diverge on i386 in these runs, so it may be stale too.

Note on the pin

The measurements above are against compiler/pascal26 at HEAD, not pinned. gcc_diff_probe.sh defaults to PXX_STABLE, i.e. pinned, which does not yet carry the fix — so re-running with the default will still show 3 known until Track A runs make pin. Verify with PXX_STABLE=./compiler/pascal26 tools/gcc_diff_probe.sh --target i386, or wait for the pin.