On arm64, CheriABI binaries are current distinguished from non-CHERI
binaries by an ELF flag. Arm has reserved one for Morello. By
rejecting these binaries, we allow other alternative ABIs to match. In
particular, we can use binmiscctl to enable QEMU user mode on native
arm64 systems to support cross compilation for Morello.
Later in the CHERI upstreaming process we'll expand these checks to
require that binaries support CHERI by default on CHERI targets
(introducing a freebsd64 layer for integer-pointer ABIs). We'll also
expand checks to RISC-V as appropriate once the psABI team picks an
approach (CheriBSD currently uses a flag in the reserved space.)
Effort: CHERI upstreaming
Requested by: def
Sponsored by: DARPA, AFRL
Co-authored-by: John Baldwin <jhb@FreeBSD.org>