G_RPI4 Buildkernel stops silently on RPi4

From: bob prohaska <fbsd_at_www.zefox.net>
Date: Thu, 17 Jun 2021 18:06:28 UTC
I'm not sure G_RPI4 is still relevant to anybody, but a silent
stoppage in buildkernel struck me as surprising. A retry using
GENERIC-MMCCAM worked without trouble and is running now. 

A recent attempt to update world and kernel G_RPI4 on a Pi4 running
14-current stopped in buildworld, with no obvious error:

root@nemesis:/usr/src # tail b*.log
==> buildkernel.log <==
MAKEOBJDIRPREFIX=''
MAKESYSPATH='/usr/src/share/mk'
MAKE_VERSION='20210206'
PATH='/sbin:/bin:/usr/sbin:/usr/bin'
SRCTOP='/usr/src'
OBJTOP='/usr/obj/usr/src/arm64.aarch64'
.MAKE.MAKEFILES='/usr/src/share/mk/sys.mk /usr/src/share/mk/local.sys.env.mk /usr/src/share/mk/src.sys.env.mk /usr/src/share/mk/bsd.mkopt.mk /usr/src/share/mk/src.sys.obj.mk /usr/src/share/mk/auto.obj.mk /usr/src/share/mk/bsd.suffixes.mk /usr/src/share/mk/local.sys.mk /usr/src/share/mk/src.sys.mk /usr/src/Makefile.inc1 /usr/src/share/mk/src.tools.mk /usr/src/share/mk/bsd.compiler.mk /usr/src/share/mk/bsd.opts.mk /usr/src/share/mk/bsd.cpu.mk /usr/src/share/mk/src.opts.mk /usr/src/share/mk/bsd.own.mk /usr/src/share/mk/bsd.linker.mk'
.PATH='. /usr/src'

make: stopped in /usr/src


There was nothing on the serial console, nor the controlling terminal.
The sources were updated a few minutes earlier, reporting

root@nemesis:/usr/src # git pull
remote: Enumerating objects: 100, done.
remote: Counting objects: 100% (100/100), done.
remote: Compressing objects: 100% (48/48), done.
remote: Total 59 (delta 51), reused 18 (delta 10), pack-reused 0
Unpacking objects: 100% (59/59), 7.13 KiB | 17.00 KiB/s, done.
From https://git.freebsd.org/src
   8fa5c577de..0247c33e89  main       -> origin/main
Updating 8fa5c577de..0247c33e89
Fast-forward
 sys/amd64/amd64/efirt_machdep.c           |   9 ++++
 sys/kern/subr_param.c                     |   6 +--
 sys/mips/conf/AR71XX_BASE                 |   1 -
 sys/mips/conf/PB92                        |   1 -
 sys/mips/conf/QCA953X_BASE                |   1 -
 sys/mips/conf/std.AR5312                  |   1 -
 sys/mips/conf/std.AR5315                  |   1 -
 sys/mips/conf/std.AR724X                  |   1 -
 sys/mips/conf/std.AR91XX                  |   1 -
 sys/mips/conf/std.AR933X                  |   1 -
 sys/mips/conf/std.AR934X                  |   1 -
 sys/mips/conf/std.MALTA                   |   1 +
 sys/mips/conf/std.QCA955X                 |   1 -
 sys/mips/conf/std.XLP                     |   1 -
 sys/tests/fib_lookup/fib_lookup.c         | 140 +++++++++++++++++++++++++++++++++++++++++++++--------
 sys/vm/vm_page.c                          |   2 +-
 sys/vm/vm_page.h                          |   1 +
 usr.sbin/bsdconfig/include/messages.subr  |   1 +
 usr.sbin/bsdconfig/share/media/ftp.subr   |   1 +
 usr.sbin/bsdinstall/scripts/mirrorselect  |   1 +
 usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c |   4 +-
 21 files changed, 137 insertions(+), 40 deletions(-)

The build command was
make -j4 -DWITH_META_MODE  buildworld > buildworld.log && make -j4  buildkernel -DWITH_META_MODE KERNCONF=G_RPI4  > buildkernel.log
which has worked well for some months.

Just noticed the KERNCONF=G_RPI4, which I tried as an experiment that
seemed to work. The original motive was a smaller kernel, but that no
longer seems to be the case; GENERIC-MMCCAM is ~30 kB smaller 8-) 

Thanks for reading,

bob prohaska