Index: share/man/man5/src.conf.5 =================================================================== --- share/man/man5/src.conf.5 +++ share/man/man5/src.conf.5 @@ -1,6 +1,6 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. .\" $FreeBSD$ -.Dd June 7, 2022 +.Dd June 8, 2022 .Dt SRC.CONF 5 .Os .Sh NAME @@ -651,8 +651,8 @@ Include experimental features in the build. .It Va WITH_EXTRA_TCP_STACKS Build extra TCP stack modules. -.It Va WITHOUT_FDT -Do not build Flattened Device Tree support as part of the base system. +.It Va WITH_FDT +Build Flattened Device Tree support as part of the base system. This includes the device tree compiler (dtc) and libfdt support library. .It Va WITHOUT_FILE Do not build @@ -833,9 +833,8 @@ Enable the "retpoline" mitigation for CVE-2017-5715 in the kernel build. .It Va WITHOUT_KERNEL_SYMBOLS -Do not build or install standalone kernel debug symbol files. -Debug data (if enabled by the kernel configuration file) -will be included in the kernel and modules. +Do not install standalone kernel debug symbol files. +This option has no effect at build time. .It Va WITHOUT_KVM Do not build the .Nm libkvm @@ -1473,6 +1472,16 @@ Do not build kernel modules that include sourceless native code for host CPU. .It Va WITHOUT_SOURCELESS_UCODE Do not build kernel modules that include sourceless microcode. +.It Va WITHOUT_SPLIT_KERNEL_DEBUG +Do not build standalone kernel debug files. +Debug data (if enabled by the kernel configuration file) +will be included in the kernel and modules. +When set, it enforces these options: +.Pp +.Bl -item -compact +.It +.Va WITHOUT_KERNEL_SYMBOLS +.El .It Va WITHOUT_SSP Do not build world with propolice stack smashing protection. .It Va WITH_STAGING Index: sys/conf/kern.opts.mk =================================================================== --- sys/conf/kern.opts.mk +++ sys/conf/kern.opts.mk @@ -42,6 +42,7 @@ IPFILTER \ IPSEC_SUPPORT \ ISCSI \ + SPLIT_KERNEL_DEBUG \ KERNEL_SYMBOLS \ NETGRAPH \ OFED \ @@ -178,6 +179,10 @@ .endif .endfor +.if ${MK_SPLIT_KERNEL_DEBUG} == "no" +MK_KERNEL_SYMBOLS:= no +.endif + # Some modules only compile successfully if option FDT is set, due to #ifdef FDT # wrapped around declarations. Module makefiles can optionally compile such # things using .if !empty(OPT_FDT) Index: sys/conf/kmod.mk =================================================================== --- sys/conf/kmod.mk +++ sys/conf/kmod.mk @@ -217,7 +217,7 @@ PROG= ${KMOD}.ko .endif -.if !defined(DEBUG_FLAGS) || ${MK_KERNEL_SYMBOLS} == "no" +.if !defined(DEBUG_FLAGS) || ${MK_SPLIT_KERNEL_DEBUG} == "no" FULLPROG= ${PROG} .else FULLPROG= ${PROG}.full @@ -321,7 +321,7 @@ CLEANFILES+= ${PROG} ${KMOD}.kld ${OBJS} -.if defined(DEBUG_FLAGS) && ${MK_KERNEL_SYMBOLS} != "no" +.if defined(DEBUG_FLAGS) && ${MK_SPLIT_KERNEL_DEBUG} != "no" CLEANFILES+= ${FULLPROG} ${PROG}.debug .endif Index: tools/build/options/WITHOUT_KERNEL_SYMBOLS =================================================================== --- tools/build/options/WITHOUT_KERNEL_SYMBOLS +++ tools/build/options/WITHOUT_KERNEL_SYMBOLS @@ -1,4 +1,3 @@ .\" $FreeBSD$ -Do not build or install standalone kernel debug symbol files. -Debug data (if enabled by the kernel configuration file) -will be included in the kernel and modules. +Do not install standalone kernel debug symbol files. +This option has no effect at build time. Index: tools/build/options/WITHOUT_SPLIT_KERNEL_DEBUG =================================================================== --- /dev/null +++ tools/build/options/WITHOUT_SPLIT_KERNEL_DEBUG @@ -0,0 +1,3 @@ +Do not build standalone kernel debug files. +Debug data (if enabled by the kernel configuration file) +will be included in the kernel and modules.