From 38d402e3265fe9cc61317a3d55897d8e8ea72c59 Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Mon, 14 Sep 2026 07:24:54 +0700 Subject: [PATCH] The marker's name is a literal in four places, and the note says so --- HANDOFF-x86-abi-marker.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/HANDOFF-x86-abi-marker.md b/HANDOFF-x86-abi-marker.md index edade72..901f24a 100644 --- a/HANDOFF-x86-abi-marker.md +++ b/HANDOFF-x86-abi-marker.md @@ -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 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. +- 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.