Add SPLIT_KERNEL_DEBUG knob

Prior to 9b6edf364e WITHOUT_KERNEL_SYMBOLS split kernel debug data
into standalone debug files at build time, but did not install those
files.  As of 9b6edf364e it stopped splitting the debug data, leaving
it in the kernel and modules (the default kernel configs include
DEBUG=-g).

Revert 9b6edf364e and introduce a new build-time SPLIT_KERNEL_DEBUG
knob, as some people rely on the pre-9b6edf364eb0 WITHOUT_KERNEL_SYMBOLS
behaviour and that was imp's original intent.

PR:		264433
Reviewed by:	eugen, imp
MFC after:	3 weeks
Relnotes:	yes
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D35437
This commit is contained in:
Ed Maste 2022-06-08 17:02:24 -04:00
parent ad6ae52d1c
commit e3709cfe6a
4 changed files with 12 additions and 5 deletions

View File

@ -42,6 +42,7 @@ __DEFAULT_YES_OPTIONS = \
IPFILTER \
IPSEC_SUPPORT \
ISCSI \
SPLIT_KERNEL_DEBUG \
KERNEL_SYMBOLS \
NETGRAPH \
OFED \
@ -178,6 +179,10 @@ MK_${var}_SUPPORT:= yes
.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)

View File

@ -217,7 +217,7 @@ OBJS+= ${SRCS:N*.h:R:S/$/.o/g}
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 @@ ${_ILINKS}:
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

View File

@ -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.

View File

@ -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.