Not enough context - this seems to be from some userland stuff being build, and some #ifdef gone wrong. The code there is: #if !defined(_KERNEL) || (!defined(__NetBSD__) && !defined(__OpenBSD__) && \ !defined(__FreeBSD__)) || \ FREEBSD_LT_REV(501000) || NETBSD_LT_REV(105000000) || \ OPENBSD_LT_REV(200006) and seems to not have been changed in years. I can't even parse what it is supposed to express. The ( it complains about is FREEBSD_LT_REV(501000) ^ and FREEBSD_LT_REV should come from ip_compat.h: #if defined(__FreeBSD_version) .. #else .. # define FREEBSD_LT_REV(x) 0 #endif Please check where this does go wrong for you (for example by sprinkling a few #error "stopped here" around in the ifdef mess.
Will do. In the meanwhile, here are the differences between the compile options from a kernel where ipfilter works (MARVELL_NAS) versus PI (which is RPI with options IPFILTER_LOG, IPFILTER_LOOKUP, IPFILTER_COMPAT and pseudo-device ipfilter):
# create MARVELL_NAS/genfs_io.dCC=/usr/current/src/../tools/bin/arm--netbsdelf-eabihf-gcc /usr/current/src/../tools/bin/nbmkdep -f genfs_io.d -- -mfloat-abi=soft -ffreestanding -fno-zero-initialized-in-bss -O2 -fno-strict-aliasing -fno-common -std=gnu99 -Werror -Wall -Wno-main -Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wold-style-definition -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -Wno-unreachable-code -Wno-pointer-sign -Wno-attributes -Wno-sign-compare --sysroot=/usr/current/src/../dest-evbarm -I. -I/usr/current/src/sys/../common/include -I/usr/current/src/sys/arch -I/usr/current/src/sys -nostdinc -D__HAVE_PCI_CONF_HOOK -D__HAVE_CPU_UAREA_ALLOC_IDLELWP -DKERNEL_BASE_EXT="0xc0000000" -DMAXUSERS=32 -D_KERNEL -D_KERNEL_OPT -std=gnu99 -I/usr/current/src/sys/lib/libkern/../../../common/lib/libc/quad -I/usr/current/src/sys/lib/libkern/../../../common/lib/libc/string -I/usr/current/src/sys/lib/libkern/../../../common/lib/libc/arch/arm/string -I/usr/current/src/sys/external/bsd/ipf /usr/current/src/sys/miscfs/genfs/genfs_io.c
# create PI/genfs_io.dCC=/usr/current/src/../tools/bin/arm--netbsdelf-eabihf-gcc /usr/current/src/../tools/bin/nbmkdep -f genfs_io.d -- -mfloat-abi=soft -ffreestanding -fno-zero-initialized-in-bss -O2 -fno-strict-aliasing -fno-common -std=gnu99 -Werror -Wall -Wno-main -Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wold-style-definition -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -Wno-unreachable-code -Wno-pointer-sign -Wno-attributes -Wno-sign-compare --sysroot=/usr/current/src/../dest-evbarm -march=armv6z -mtune=arm1176jzf-s -mfpu=vfp -I. -I/usr/current/src/sys/../common/include -I/usr/current/src/sys/arch -I/usr/current/src/sys -nostdinc -D__HAVE_CPU_COUNTER -D__HAVE_FAST_SOFTINTS -D__HAVE_CPU_UAREA_ALLOC_IDLELWP -DKERNEL_BASE_EXT="0xc0000000" -DARM_GENERIC_TODR -DBCM2835 -DDIAGNOSTIC -DPLCONSOLE -DMAXUSERS=32 -D_KERNEL -D_KERNEL_OPT -std=gnu99 -I/usr/current/src/sys/lib/libkern/../../../common/lib/libc/quad -I/usr/current/src/sys/lib/libkern/../../../common/lib/libc/string -I/usr/current/src/sys/lib/libkern/../../../common/lib/libc/arch/arm/string -I/usr/current/src/sys/../../../include -I/usr/current/src/sys/external/bsd/ipf -I/usr/current/src/sys/external/bsd/common/include -I/usr/current/src/sys/external/bsd -I/usr/current/src/sys/external/bsd/dwc2/dist -I/usr/current/src/sys/external/bsd/vchiq/dist -I/usr/current/src/sys/external/bsd/common/include -DVCOS_VERIFY_BKPTS=1 -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -DVCHIQ_ENABLE_DEBUG=1 -DVCHIQ_LOG_DEFAULT=5 /usr/current/src/sys/miscfs/genfs/genfs_io.c
Thanks, John