The marker's name is a literal in four places, and the note says so

This commit is contained in:
Joseph Ferano 2026-09-14 07:24:54 +07:00
parent e62b3bfe04
commit 38d402e326

View File

@ -171,3 +171,9 @@ through the redirect and stays empty until the end; that is not a hang.
now, not easier: the marker refuses the pair before any of the four `step` functions runs, so anyone who now, not easier: the marker refuses the pair before any of the four `step` functions runs, so anyone who
wants the answer has to build the crossed module with the marker suppressed on purpose. wants the answer has to build the crossed module with the marker suppressed on purpose.
- Items 1, 2 and 5 of `HANDOFF-x86-redef.md`, untouched. - Items 1, 2 and 5 of `HANDOFF-x86-redef.md`, untouched.
- A seam worth knowing about before anyone renames a marker. The two strings live in OCaml — `X86.abi_marker`
and `Emit.abi_marker` — and the two `abi_mismatch` functions match the same literals in C, with nothing
linking the four. Rename one and the refusal still fires, because the symbol is still missing; it just stops
being a sentence and reverts to the loader's bare "undefined symbol", which is the failure this lane was
about. The crossed tests would catch it — they assert on the marker's name — so the seam is guarded, but it
is a seam.