2.5 KiB
P15-027 Stage0 Decision
Status: STOP. B36 is STOP-NO-SOURCE.
G07 is evaluated per architecture against frozen BASE
4683579dabc57b0c9aaf5762e13ecc2a0ec3f8f9. The mandatory audit set is
arm64, riscv64, and i386. i386 is the real FreeBSD 32-bit target: the
available FreeBSD source contains its machine headers and the pinned Clang
toolchain contains the x86 backend. Source/toolchain availability is not
native runtime evidence.
The inventory-first gate finds no declared same-architecture FreeBSD runtime
for arm64, riscv64, or i386. The host is Linux/x86_64. An emulator binary,
x86_64 guest, Linux execution, cross compilation, static layout output, or a
runtime from another candidate cannot satisfy this condition. Missing native
runtime is a per-architecture STOP, not INFRA_BLOCKED, and no architecture
can borrow another architecture's result.
Because cross-only results cannot change any current decision, dual
WITH_ZSTDIO=0/1 KMOD builds and layout/unaligned/endian probes are
NOT_RUN for all three architectures. The gate still verifies the frozen
EROFS source tree, selected planning and probe hashes, FreeBSD source identity
and architecture headers, compiler identity and target backends, and exact
input-recorded Makefile relaxation. That patch is applied only to an owned
temporary Makefile copy. The production src/Makefile remains byte-identical
to BASE and retains the amd64-only error.
For a future rerun, each architecture has an independent native runner slot.
A declaration must pass a bounded preflight reporting matching FreeBSD
uname -s, architecture-specific uname -m and uname -p, and cleanup.
Only then does the gate create a frozen temporary source copy, apply the sole
recorded Makefile patch, build both KMOD configurations, record sizes and
nm -u, and compile the layout and unaligned little-endian probes. The same
runner must then load and unload both exact module hashes and record Plain,
LZ4, LZMA, and Zstd reads. It must also prove running-kernel options ZSTDIO
capability and exact disabled EOPNOTSUPP. Every operation carries argv,
deadline, exit, target marker, cleanup, stdout/stderr, and hashes. A candidate
is GO only when its own cross and native records both pass.
This decision does not authorize any B36 allowlist entry. No production source, B36 case, B36 probe, QEMU run, K build, feature suite, or smoke suite is created or run. Protected PID 26318, port 9222, and the shared base image are outside the gate and are not addressed.