Following changes to -current in the last few days, some(?) of my custom
kernels have been failing to build with undeclared identifiers. E.g.:
on sparc:
[...]
--- ioconf.o ---
ioconf.c:331:55: error: 'pspec5' undeclared here (not in a function)
{ "dma", "dma_sbus", 1, STAR, loc+ 14, 0, &pspec5 },
*** [ioconf.o] Error code 1
nbmake: stopped in /r1/build/current/obj/sparc/sys/arch/sparc/compile/DAVID
1 error
on amd64:
[...]
--- ioconf.o ---
ioconf.c:1041:54: error: 'pspec28' undeclared here (not in a function)
{ "tpm", "tpm_isa", 0, STAR, loc+ 0, 0, &pspec28 },
^
ioconf.c:1041:5: error: missing initializer for field 'cf_pspec' of 'struct cfdata' [-Werror=missing-field-initializers]
{ "tpm", "tpm_isa", 0, STAR, loc+ 0, 0, &pspec28 },
^
In file included from ioconf.c:10:0:
/x/current/src/sys/sys/device.h:275:25: note: 'cf_pspec' declared here
const struct cfparent *cf_pspec;/* parent specification */
^
cc1: all warnings being treated as errors
*** [ioconf.o] Error code 1
nbmake: stopped in /r0/build/current/obj/amd64/sys/arch/amd64/compile/PLEX760
The above were observed during an update build. The sparc build had
previously completed a successful non-update build, albeit with already-
populated OBJDIR.
Removing the OBJDIR/.../compile/FOO directory had no effect, indicating
something in my kernel config is now out of order that had not been so
before.
In the sparc case, I've been using essentially the same configs since
around the netbsd-5 era--that arch really hasn't changed in a long time.
What do the above errors suggest I look for? I'm pretty sure all the
attachments were in order.