When building up the command-line for the DTrace ctfmerge and ctfconvert
utilities, add the ${DEBUG} variable from the kernel config. Otherwise, if we build a kernel with WITH_CTF=1 set, ctfmerge will not have the -g flag set. In this case, the cc has -g specified, so the .o files will have debug information generated, but since ctfmerge does not have -g set, it will strip out the ELF sections containing the DWARF debugging info, leading to a kernel without debugging symbols. Reviewed by: jb
This commit is contained in:
parent
b90eec1bce
commit
4532d2224b
@ -129,7 +129,7 @@ NORMAL_M= ${AWK} -f $S/tools/makeobjops.awk ${.IMPSRC} -c ; \
|
||||
${CC} -c ${CFLAGS} ${WERROR} ${PROF} ${.PREFIX}.c
|
||||
|
||||
.if defined(CTFCONVERT)
|
||||
NORMAL_CTFCONVERT= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
|
||||
NORMAL_CTFCONVERT= ${CTFCONVERT} ${DEBUG} ${CTFFLAGS} ${.TARGET}
|
||||
.else
|
||||
NORMAL_CTFCONVERT=
|
||||
.endif
|
||||
@ -143,7 +143,7 @@ SYSTEM_OBJS= locore.o ${MDOBJS} ${OBJS}
|
||||
SYSTEM_OBJS+= ${SYSTEM_CFILES:.c=.o}
|
||||
SYSTEM_OBJS+= hack.So
|
||||
.if defined(CTFMERGE)
|
||||
SYSTEM_CTFMERGE= ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SYSTEM_OBJS} vers.o
|
||||
SYSTEM_CTFMERGE= ${CTFMERGE} ${DEBUG} ${CTFFLAGS} -o ${.TARGET} ${SYSTEM_OBJS} vers.o
|
||||
LD+= -g
|
||||
.endif
|
||||
SYSTEM_LD= @${LD} -Bdynamic -T ${LDSCRIPT} \
|
||||
|
Loading…
Reference in New Issue
Block a user