← board

pxx --version prints no build identity

Why run time, not build time

A binary cannot contain its own hash. A source commit embedded at build time would make the binary's bytes depend on git state, so selfcheck.sh, which rebuilds a bundle's binaries from the tarball where there is no .git, would stop reproducing MANIFEST.sha256. So the compiler hashes /proc/self/exe (SHA-256, in compiler.pas) and looks for that hash in records that already name binaries by hash:

Where Record Prints
release bundle MANIFEST.sha256, then RELEASE-ID release: tag "codename", source:, and pin: when the release binary is the pin
checkout stable_linux_amd64/default/pin.log pin: vNNN, source: the commit the pin was cut from
checkout compiler/.pascal26.fixedpoint local: the last make, and its source hash
anywhere else none local: not a pin or a release binary

A line is printed only when a record names the hash. A VERSION file that happens to sit nearby does not count.

tools/release.sh's build_dist now writes RELEASE-ID (tag, codename, source commit, and pin only when the release binary is the pinned one). The bundle's RELEASE.md lists it.

Measured (2026-09-29, fixedpoint d67ea56f34a7)