Page MenuHomeFreeBSD

D19633.id55296.diff
No OneTemporary

D19633.id55296.diff

Index: head/sys/conf/kern.post.mk
===================================================================
--- head/sys/conf/kern.post.mk
+++ head/sys/conf/kern.post.mk
@@ -328,6 +328,11 @@
.depend: .PRECIOUS ${SRCS}
+.if ${COMPILER_TYPE} == "clang" || \
+ (${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 60000)
+_MAP_DEBUG_PREFIX= yes
+.endif
+
_ILINKS= machine
.if ${MACHINE} != ${MACHINE_CPUARCH} && ${MACHINE} != "arm64"
_ILINKS+= ${MACHINE_CPUARCH}
@@ -337,11 +342,24 @@
.endif
# Ensure that the link exists without depending on it when it exists.
+# Ensure that debug info references the path in the source tree.
.for _link in ${_ILINKS}
.if !exists(${.OBJDIR}/${_link})
${SRCS} ${CLEAN:M*.o}: ${_link}
.endif
+.if defined(_MAP_DEBUG_PREFIX)
+.if ${_link} == "machine"
+CFLAGS+= -fdebug-prefix-map=./machine=${SYSDIR}/${MACHINE}/include
+.else
+CFLAGS+= -fdebug-prefix-map=./${_link}=${SYSDIR}/${_link}/include
+.endif
+.endif
.endfor
+
+.if defined(_MAP_DEBUG_PREFIX)
+# Ensure that DWARF info contains a full path for auto-generated headers.
+CFLAGS+= -fdebug-prefix-map=.=${.OBJDIR}
+.endif
${_ILINKS}:
@case ${.TARGET} in \
Index: head/sys/conf/kmod.mk
===================================================================
--- head/sys/conf/kmod.mk
+++ head/sys/conf/kmod.mk
@@ -267,6 +267,11 @@
${OBJCOPY} --strip-debug ${.TARGET}
.endif
+.if ${COMPILER_TYPE} == "clang" || \
+ (${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 60000)
+_MAP_DEBUG_PREFIX= yes
+.endif
+
_ILINKS=machine
.if ${MACHINE} != ${MACHINE_CPUARCH} && ${MACHINE} != "arm64"
_ILINKS+=${MACHINE_CPUARCH}
@@ -283,11 +288,24 @@
# Ensure that the links exist without depending on it when it exists which
# causes all the modules to be rebuilt when the directory pointed to changes.
+# Ensure that debug info references the path in the source tree.
.for _link in ${_ILINKS}
.if !exists(${.OBJDIR}/${_link})
OBJS_DEPEND_GUESS+= ${_link}
.endif
+.if defined(_MAP_DEBUG_PREFIX)
+.if ${_link} == "machine"
+CFLAGS+= -fdebug-prefix-map=./machine=${SYSDIR}/${MACHINE}/include
+.else
+CFLAGS+= -fdebug-prefix-map=./${_link}=${SYSDIR}/${_link}/include
+.endif
+.endif
.endfor
+
+.if defined(_MAP_DEBUG_PREFIX)
+# Ensure that DWARF info contains a full path for auto-generated headers.
+CFLAGS+= -fdebug-prefix-map=.=${.OBJDIR}
+.endif
.NOPATH: ${_ILINKS}

File Metadata

Mime Type
text/plain
Expires
Sun, Feb 2, 2:06 AM (10 h, 5 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16391894
Default Alt Text
D19633.id55296.diff (2 KB)

Event Timeline