Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F135452937
D1006.id7883.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
5 KB
Referenced Files
None
Subscribers
None
D1006.id7883.diff
View Options
Index: etc/mtree/BSD.debug.dist
===================================================================
--- etc/mtree/BSD.debug.dist
+++ etc/mtree/BSD.debug.dist
@@ -9,6 +9,8 @@
bin
..
boot
+ kernel
+ ..
..
lib
geom
Index: share/man/man7/hier.7
===================================================================
--- share/man/man7/hier.7
+++ share/man/man7/hier.7
@@ -383,7 +383,7 @@
a.out backward compatibility libraries
.El
.It Pa debug/
-standalone debug data for the base system libraries and binaries
+standalone debug data for the kernel and base system libraries and binaries
.It Pa dtrace/
DTrace library scripts
.It Pa engines/
Index: sys/conf/kern.post.mk
===================================================================
--- sys/conf/kern.post.mk
+++ sys/conf/kern.post.mk
@@ -23,6 +23,11 @@
MKMODULESENV+= WITH_CTF="${WITH_CTF}"
.endif
+# Allow overriding the kernel debug directory, so kernel and user debug may be
+# installed in different directories. Setting it to "" restores the historical
+# behavior of installing debug files in the kernel directory.
+KERN_DEBUGDIR?= ${DEBUGDIR}
+
.MAIN: all
.for target in all clean cleandepend cleandir clobber depend install \
@@ -101,11 +106,11 @@
.if !defined(DEBUG)
FULLKERNEL= ${KERNEL_KO}
.else
-FULLKERNEL= ${KERNEL_KO}.debug
-${KERNEL_KO}: ${FULLKERNEL} ${KERNEL_KO}.symbols
- ${OBJCOPY} --strip-debug --add-gnu-debuglink=${KERNEL_KO}.symbols\
+FULLKERNEL= ${KERNEL_KO}.full
+${KERNEL_KO}: ${FULLKERNEL} ${KERNEL_KO}.debug
+ ${OBJCOPY} --strip-debug --add-gnu-debuglink=${KERNEL_KO}.debug \
${FULLKERNEL} ${.TARGET}
-${KERNEL_KO}.symbols: ${FULLKERNEL}
+${KERNEL_KO}.debug: ${FULLKERNEL}
${OBJCOPY} --only-keep-debug ${FULLKERNEL} ${.TARGET}
install.debug reinstall.debug: gdbinit
cd ${.CURDIR}; ${MAKE} ${.TARGET:R}
@@ -154,7 +159,7 @@
kernel-clean:
rm -f *.o *.so *.So *.ko *.s eddep errs \
- ${FULLKERNEL} ${KERNEL_KO} ${KERNEL_KO}.symbols \
+ ${FULLKERNEL} ${KERNEL_KO} ${KERNEL_KO}.debug \
linterrs tags vers.c \
vnode_if.c vnode_if.h vnode_if_newproto.h vnode_if_typedef.h \
${MFILES:T:S/.m$/.c/} ${MFILES:T:S/.m$/.h/} \
@@ -252,19 +257,26 @@
if [ ! "`dirname "$$thiskernel"`" -ef ${DESTDIR}${KODIR} ] ; then \
chflags -R noschg ${DESTDIR}${KODIR} ; \
rm -rf ${DESTDIR}${KODIR} ; \
+ rm -rf ${DESTDIR}${KERN_DEBUGDIR}${KODIR} ; \
else \
if [ -d ${DESTDIR}${KODIR}.old ] ; then \
chflags -R noschg ${DESTDIR}${KODIR}.old ; \
rm -rf ${DESTDIR}${KODIR}.old ; \
fi ; \
mv ${DESTDIR}${KODIR} ${DESTDIR}${KODIR}.old ; \
+ if [ -n "${KERN_DEBUGDIR}" -a \
+ -d ${DESTDIR}${KERN_DEBUGDIR}${KODIR} ]; then \
+ rm -rf ${DESTDIR}${KERN_DEBUGDIR}${KODIR}.old ; \
+ mv ${DESTDIR}${KERN_DEBUGDIR}${KODIR} ${DESTDIR}${KERN_DEBUGDIR}${KODIR}.old ; \
+ fi ; \
sysctl kern.bootfile=${DESTDIR}${KODIR}.old/"`basename "$$thiskernel"`" ; \
fi
.endif
mkdir -p ${DESTDIR}${KODIR}
${INSTALL} -p -m 555 -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_KO} ${DESTDIR}${KODIR}
.if defined(DEBUG) && !defined(INSTALL_NODEBUG) && ${MK_KERNEL_SYMBOLS} != "no"
- ${INSTALL} -p -m 555 -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_KO}.symbols ${DESTDIR}${KODIR}
+ mkdir -p ${DESTDIR}${KERN_DEBUGDIR}${KODIR}
+ ${INSTALL} -p -m 555 -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_KO}.debug ${DESTDIR}${KERN_DEBUGDIR}${KODIR}
.endif
.if defined(KERNEL_EXTRA_INSTALL)
${INSTALL} -p -m 555 -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_EXTRA_INSTALL} ${DESTDIR}${KODIR}
@@ -276,7 +288,7 @@
@-chflags -R noschg ${DESTDIR}${KODIR}
${INSTALL} -p -m 555 -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_KO} ${DESTDIR}${KODIR}
.if defined(DEBUG) && !defined(INSTALL_NODEBUG) && ${MK_KERNEL_SYMBOLS} != "no"
- ${INSTALL} -p -m 555 -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_KO}.symbols ${DESTDIR}${KODIR}
+ ${INSTALL} -p -m 555 -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_KO}.debug ${DESTDIR}${DEBUGDIR}${KODIR}
.endif
config.o env.o hints.o vers.o vnode_if.o:
Index: sys/conf/kmod.mk
===================================================================
--- sys/conf/kmod.mk
+++ sys/conf/kmod.mk
@@ -172,11 +172,11 @@
.if !defined(DEBUG_FLAGS)
FULLPROG= ${PROG}
.else
-FULLPROG= ${PROG}.debug
-${PROG}: ${FULLPROG} ${PROG}.symbols
- ${OBJCOPY} --strip-debug --add-gnu-debuglink=${PROG}.symbols\
+FULLPROG= ${PROG}.full
+${PROG}: ${FULLPROG} ${PROG}.debug
+ ${OBJCOPY} --strip-debug --add-gnu-debuglink=${PROG}.debug \
${FULLPROG} ${.TARGET}
-${PROG}.symbols: ${FULLPROG}
+${PROG}.debug: ${FULLPROG}
${OBJCOPY} --only-keep-debug ${FULLPROG} ${.TARGET}
.endif
@@ -266,7 +266,7 @@
CLEANFILES+= ${PROG} ${KMOD}.kld ${OBJS}
.if defined(DEBUG_FLAGS)
-CLEANFILES+= ${FULLPROG} ${PROG}.symbols
+CLEANFILES+= ${FULLPROG} ${PROG}.debug
.endif
.if !target(install)
@@ -277,6 +277,7 @@
.endfor
.if !target(realinstall)
+KERN_DEBUGDIR?= ${DEBUGDIR}
realinstall: _kmodinstall
.ORDER: beforeinstall _kmodinstall
_kmodinstall:
@@ -284,7 +285,7 @@
${_INSTALLFLAGS} ${PROG} ${DESTDIR}${KMODDIR}
.if defined(DEBUG_FLAGS) && !defined(INSTALL_NODEBUG) && ${MK_KERNEL_SYMBOLS} != "no"
${INSTALL} -o ${KMODOWN} -g ${KMODGRP} -m ${KMODMODE} \
- ${_INSTALLFLAGS} ${PROG}.symbols ${DESTDIR}${KMODDIR}
+ ${_INSTALLFLAGS} ${PROG}.debug ${DESTDIR}${KERN_DEBUGDIR}${KMODDIR}
.endif
.include <bsd.links.mk>
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Nov 11, 12:05 AM (2 h, 22 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25128368
Default Alt Text
D1006.id7883.diff (5 KB)
Attached To
Mode
D1006: Install kernel debug data under /usr/lib/debug
Attached
Detach File
Event Timeline
Log In to Comment