FYI: armv7-direct-boot vs. armv7-under-aarch64-boot process size limitations: they are different

From: Mark Millard <>
Date: Mon, 29 Aug 2022 00:54:11 UTC
In exploring freebsd build server build failures and personal build failures
for lang/ghc (and lang/ghc810 now) I discovered that the the process size
limitations are different for armv7-on-aarch64 chroot's/jail's vs. on
the likes of an Orange Pi+ 2Ed (so directly booted as armv7). The test
context uses llvm12's llc on a file that fails in both contexts, allowing
top to show an approximation to how bug the llc process is allowed to get:

top shows SIZEs like 2489Mi somewhat before the failure.
(It only has 2 GiBytes of RAM, so RES stays below that.)

armv7 on Cortex-A72 system:
top shows SIZEs like 2046Mi in the time  frame of the failure,
never showing 2048+ Mi.

This explains some examples of ports not building on the aarch64 based
build systems --ports that can build via using a direct armv7 boot
environment. In some other cases it explains why the failure points
vary for various builds.

(Note: I've locally adjusted top to display more digits and be
explicit about powers of 1024, among other things.)

Mark Millard
marklmi at