D200
- The file formats moved to selfish, and this repository
now depends on them
Four modules and four data files left this tree.
tool/src/ lost 2,801 lines:
| gone | now |
|---|---|
nid.rs (289) |
selfish-nid |
dynlib.rs (1,499) |
selfish-elf::dynlib, both directions |
module.rs (258) |
selfish-elf::identity |
mkself.rs (755) |
selfish-container |
data/hash-suffix.toml, self-format.tsv,
pkg-format.tsv |
selfish/data/ |
link/module.ld |
selfish/link/module.ld |
data/ now holds only this project's own measurement
products - the mined corpus, the surface census, the GPU surface table.
That is the split the sibling repository exists to make: a format is
shared, a measurement stays with whatever measured it.
What did not move: the manifest. Which library
resolves which name is this project's, and
selfish::dynlib::build takes it as a closure. So is
imports::PREENCODED, the $ sigil marking a
symbol whose name is the identifier - a convention of this
project's symbol tables rather than a fact about the format.
It was checked by this repository's own verifier
mkmodule re-derives the tag assignment from the bytes it
just wrote, and that derivation knows nothing about how they were
produced:
p.elf: EI_OSABI 0x0000 -> 0x0009
p.elf: e_type 0x0003 -> 0xfe10
p.elf: vendor segment at 0x297e0, 408 bytes, 23 tags, 1 symbols from 1 libraries
p.elf: layout reproduces the tag derivation (9 relations)
selftest still matches the published pair through the
moved suffix, and 204 tests pass - ten fewer than before, which is the
ten that went with the modules.