The marker's name is a literal in four places, and the note says so
This commit is contained in:
parent
e62b3bfe04
commit
38d402e326
@ -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.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user