diff options
author | ru <ru@FreeBSD.org> | 2005-10-27 14:24:45 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2005-10-27 14:24:45 +0000 |
commit | c771550d168007ede459f3a42c5bcbf710684830 (patch) | |
tree | 5c34a77ae04255b0b8f74f2e1feb2f7f0cab1d78 /sys/conf/kmod.mk | |
parent | 912a374cd0d0fe5652fc00f90abbe8545f22d897 (diff) | |
download | FreeBSD-src-c771550d168007ede459f3a42c5bcbf710684830.zip FreeBSD-src-c771550d168007ede459f3a42c5bcbf710684830.tar.gz |
Installing debug modules was a bad idea -- I bogusly assumed that
our kernel linker will only load PT_LOAD segments, apparently not.
Instead, produce .dbg objects from .debug objects, and install
them together with non-debug objects, as described in objcopy(1).
Original code by: obrien
Diffstat (limited to 'sys/conf/kmod.mk')
-rw-r--r-- | sys/conf/kmod.mk | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk index 0f010e8..d067b2c 100644 --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -143,8 +143,11 @@ PROG= ${KMOD}.ko FULLPROG= ${PROG} .else FULLPROG= ${PROG}.debug -${PROG}: ${FULLPROG} - ${OBJCOPY} --strip-debug ${FULLPROG} ${PROG} +${PROG}: ${FULLPROG} ${PROG}.dbg + ${OBJCOPY} --strip-debug --add-gnu-debuglink=${PROG}.dbg\ + ${FULLPROG} ${.TARGET} +${PROG}.dbg: ${FULLPROG} + ${OBJCOPY} --only-keep-debug ${FULLPROG} ${.TARGET} .endif .if ${MACHINE_ARCH} != amd64 @@ -226,7 +229,7 @@ ${_ILINKS}: CLEANFILES+= ${PROG} ${KMOD}.kld ${OBJS} ${_ILINKS} .if defined(DEBUG_FLAGS) -CLEANFILES+= ${FULLPROG} +CLEANFILES+= ${FULLPROG} ${PROG}.dbg .endif .if !target(install) @@ -240,12 +243,11 @@ _INSTALLFLAGS:= ${_INSTALLFLAGS${ie}} realinstall: _kmodinstall .ORDER: beforeinstall _kmodinstall _kmodinstall: -.if defined(DEBUG_FLAGS) && !defined(INSTALL_NODEBUG) - ${INSTALL} -o ${KMODOWN} -g ${KMODGRP} -m ${KMODMODE} \ - ${_INSTALLFLAGS} ${FULLPROG} ${DESTDIR}${KMODDIR}/${PROG} -.else ${INSTALL} -o ${KMODOWN} -g ${KMODGRP} -m ${KMODMODE} \ ${_INSTALLFLAGS} ${PROG} ${DESTDIR}${KMODDIR} +.if defined(DEBUG_FLAGS) && !defined(INSTALL_NODEBUG) + ${INSTALL} -o ${KMODOWN} -g ${KMODGRP} -m ${KMODMODE} \ + ${_INSTALLFLAGS} ${PROG}.dbg ${DESTDIR}${KMODDIR} .endif .include <bsd.links.mk> |