From f66116083c527535ef902da5326dca2dcc97ad35 Mon Sep 17 00:00:00 2001 From: Sheldon Hearn Date: Thu, 2 Aug 2001 09:22:18 +0000 Subject: [PATCH] When building a debugging kernel with modules, build modules with debugging support as well. Debugging module support is handled identically to kernel debugging support, right down to poor choice of make variable names. --- sys/conf/Makefile.i386 | 3 +++ sys/conf/kmod.mk | 13 +++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/sys/conf/Makefile.i386 b/sys/conf/Makefile.i386 index 7465db03fe0..157be9aa857 100644 --- a/sys/conf/Makefile.i386 +++ b/sys/conf/Makefile.i386 @@ -272,6 +272,9 @@ MKMODULESENV= MAKEOBJDIRPREFIX=${.OBJDIR}/modules KMODDIR=${KODIR} .if defined(MODULES_OVERRIDE) MKMODULESENV+= MODULES_OVERRIDE="${MODULES_OVERRIDE}" .endif +.if defined(DEBUG) +MKMODULESENV+= DEBUG="${DEBUG}" DEBUG_FLAGS="${DEBUG}" +.endif modules: @mkdir -p ${.OBJDIR}/modules diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk index 0a832ab3433..866de8747d0 100644 --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -77,6 +77,7 @@ KMODLOAD?= /sbin/kldload KMODUNLOAD?= /sbin/kldunload +OBJCOPY?= objcopy TARGET_ARCH?= ${MACHINE_ARCH} @@ -131,7 +132,15 @@ OBJS+= ${SRCS:N*.h:R:S/$/.o/g} PROG= ${KMOD}.ko .endif -${PROG}: ${KMOD}.kld +.if !defined(DEBUG) +FULLPROG= ${PROG} +.else +FULLPROG= ${PROG}.debug +${PROG}: ${FULLPROG} + ${OBJCOPY} --strip-debug ${FULLPROG} ${PROG} +.endif + +${FULLPROG}: ${KMOD}.kld ${LD} -Bshareable ${LDFLAGS} -o ${.TARGET} ${KMOD}.kld ${KMOD}.kld: ${OBJS} @@ -188,7 +197,7 @@ ${_ILINKS}: ${ECHO} ${.TARGET} "->" $$path ; \ ln -s $$path ${.TARGET} -CLEANFILES+= ${PROG} ${KMOD}.kld ${OBJS} ${_ILINKS} symb.tmp tmp.o +CLEANFILES+= ${PROG} ${FULLPROG} ${KMOD}.kld ${OBJS} ${_ILINKS} symb.tmp tmp.o .if !target(install) .if !target(beforeinstall)