Module Name: src Committed By: darran Date: Tue Mar 2 20:49:18 UTC 2010
Modified Files: src/share/mk: bsd.lib.mk bsd.own.mk bsd.prog.mk bsd.sys.mk sys.mk Log Message: DTrace: Add CTF generation to the make framework. Only enabled when MKDTRACE=yes. To generate a diff of this commit: cvs rdiff -u -r1.304 -r1.305 src/share/mk/bsd.lib.mk cvs rdiff -u -r1.619 -r1.620 src/share/mk/bsd.own.mk cvs rdiff -u -r1.246 -r1.247 src/share/mk/bsd.prog.mk cvs rdiff -u -r1.189 -r1.190 src/share/mk/bsd.sys.mk cvs rdiff -u -r1.99 -r1.100 src/share/mk/sys.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/share/mk/bsd.lib.mk diff -u src/share/mk/bsd.lib.mk:1.304 src/share/mk/bsd.lib.mk:1.305 --- src/share/mk/bsd.lib.mk:1.304 Mon Feb 22 12:33:22 2010 +++ src/share/mk/bsd.lib.mk Tue Mar 2 20:49:18 2010 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.lib.mk,v 1.304 2010/02/22 12:33:22 njoly Exp $ +# $NetBSD: bsd.lib.mk,v 1.305 2010/03/02 20:49:18 darran Exp $ # @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94 .include <bsd.init.mk> @@ -216,9 +216,18 @@ AFLAGS+= ${COPTS} FFLAGS+= ${FOPTS} +.if defined(CTFCONVERT) +.if defined(CFLAGS) && !empty(CFLAGS:M*-g*) +CTFFLAGS+= -g +.endif +.endif + .c.o: ${_MKTARGET_COMPILE} ${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .if !defined(CFLAGS) || empty(CFLAGS:M*-g*) ${OBJCOPY} -x ${.TARGET} .endif @@ -226,6 +235,9 @@ .c.po: ${_MKTARGET_COMPILE} ${COMPILE.c} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -pg ${.IMPSRC} -o ${.TARGET} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .if !defined(CFLAGS) || empty(CFLAGS:M*-g*) ${OBJCOPY} -X ${.TARGET} .endif @@ -269,6 +281,9 @@ .f.o: ${_MKTARGET_COMPILE} ${COMPILE.f} ${.IMPSRC} -o ${.TARGET} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .if !defined(FOPTS) || empty(FOPTS:M*-g*) ${OBJCOPY} -x ${.TARGET} .endif @@ -276,6 +291,9 @@ .f.po: ${_MKTARGET_COMPILE} ${COMPILE.f} ${PROFFLAGS} -pg ${.IMPSRC} -o ${.TARGET} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .if !defined(FOPTS) || empty(FOPTS:M*-g*) ${OBJCOPY} -X ${.TARGET} .endif @@ -298,6 +316,9 @@ .m.o: ${_MKTARGET_COMPILE} ${COMPILE.m} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .if !defined(OBJCFLAGS) || empty(OBJCFLAGS:M*-g*) ${OBJCOPY} -x ${.TARGET} .endif @@ -305,6 +326,9 @@ .m.po: ${_MKTARGET_COMPILE} ${COMPILE.m} ${PROFFLAGS} -pg ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .if !defined(OBJCFLAGS) || empty(OBJCFLAGS:M*-g*) ${OBJCOPY} -X ${.TARGET} .endif @@ -326,21 +350,33 @@ .s.o: ${_MKTARGET_COMPILE} ${COMPILE.s} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif ${OBJCOPY} -x ${.TARGET} .S.o: ${_MKTARGET_COMPILE} ${COMPILE.S} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif ${OBJCOPY} -x ${.TARGET} .s.po: ${_MKTARGET_COMPILE} ${COMPILE.s} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif ${OBJCOPY} -X ${.TARGET} .S.po: ${_MKTARGET_COMPILE} ${COMPILE.S} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif ${OBJCOPY} -X ${.TARGET} .s.go: Index: src/share/mk/bsd.own.mk diff -u src/share/mk/bsd.own.mk:1.619 src/share/mk/bsd.own.mk:1.620 --- src/share/mk/bsd.own.mk:1.619 Sat Feb 27 22:42:54 2010 +++ src/share/mk/bsd.own.mk Tue Mar 2 20:49:18 2010 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.own.mk,v 1.619 2010/02/27 22:42:54 haad Exp $ +# $NetBSD: bsd.own.mk,v 1.620 2010/03/02 20:49:18 darran Exp $ # This needs to be before bsd.init.mk .if defined(BSD_MK_COMPAT_FILE) @@ -236,6 +236,8 @@ TOOL_CONFIG= ${TOOLDIR}/bin/${_TOOL_PREFIX}config TOOL_CRUNCHGEN= MAKE=${.MAKE:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}crunchgen TOOL_CTAGS= ${TOOLDIR}/bin/${_TOOL_PREFIX}ctags +TOOL_CTFCONVERT= ${TOOLDIR}/bin/${_TOOL_PREFIX}ctfconvert +TOOL_CTFMERGE= ${TOOLDIR}/bin/${_TOOL_PREFIX}ctfmerge TOOL_DB= ${TOOLDIR}/bin/${_TOOL_PREFIX}db TOOL_DISKLABEL= ${TOOLDIR}/bin/nbdisklabel-${MAKEWRAPPERMACHINE} TOOL_EQN= ${TOOLDIR}/bin/${_TOOL_PREFIX}eqn @@ -311,6 +313,8 @@ TOOL_CONFIG= config TOOL_CRUNCHGEN= crunchgen TOOL_CTAGS= ctags +TOOL_CTFCONVERT= ctfconvert +TOOL_CTFMERGE= ctfmerge TOOL_DB= db TOOL_DISKLABEL= disklabel TOOL_EQN= eqn Index: src/share/mk/bsd.prog.mk diff -u src/share/mk/bsd.prog.mk:1.246 src/share/mk/bsd.prog.mk:1.247 --- src/share/mk/bsd.prog.mk:1.246 Mon Dec 14 08:51:16 2009 +++ src/share/mk/bsd.prog.mk Tue Mar 2 20:49:18 2010 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.prog.mk,v 1.246 2009/12/14 08:51:16 mrg Exp $ +# $NetBSD: bsd.prog.mk,v 1.247 2010/03/02 20:49:18 darran Exp $ # @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94 .ifndef HOSTPROG @@ -63,6 +63,12 @@ OBJCFLAGS+= ${OBJCOPTS} MKDEP_SUFFIXES?= .o .ln +# CTF preserve debug symbols +.if defined(MKDTRACE) && (${MKDTRACE} != "no") && (${CFLAGS:M-g} != "") +CTFFLAGS+= -g +CTFMFLAGS+= -g +.endif + # ELF platforms depend on crti.o, crtbegin.o, crtend.o, and crtn.o .if ${OBJECT_FMT} == "ELF" .ifndef LIBCRTBEGIN @@ -299,6 +305,9 @@ ${OBJS.${_P}} ${_LDADD.${_P}} \ ${DESTDIR:D-L${_GCC_LIBGCCDIR}} \ ${_PROGLDOPTS} +.if defined(CTFMERGE) + ${CTFMERGE} ${CTFMFLAGS} -o ${.TARGET} ${OBJS.${_P}} +.endif .if defined(PAXCTL_FLAGS.${_P}) ${PAXCTL} ${PAXCTL_FLAGS.${_P}} ${.TARGET} .endif Index: src/share/mk/bsd.sys.mk diff -u src/share/mk/bsd.sys.mk:1.189 src/share/mk/bsd.sys.mk:1.190 --- src/share/mk/bsd.sys.mk:1.189 Tue Dec 15 04:03:55 2009 +++ src/share/mk/bsd.sys.mk Tue Mar 2 20:49:18 2010 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.sys.mk,v 1.189 2009/12/15 04:03:55 mrg Exp $ +# $NetBSD: bsd.sys.mk,v 1.190 2010/03/02 20:49:18 darran Exp $ # # Build definitions used for NetBSD source tree builds. @@ -154,6 +154,9 @@ .c.o: ${_MKTARGET_COMPILE} ${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .c.ln: ${_MKTARGET_COMPILE} @@ -173,6 +176,9 @@ .m.o: ${_MKTARGET_COMPILE} ${COMPILE.m} ${OBJCOPTS} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif # Host-compiled C objects # The intermediate step is necessary for Sun CC, which objects to calling @@ -192,10 +198,16 @@ .s.o: ${_MKTARGET_COMPILE} ${COMPILE.s} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .S.o: ${_MKTARGET_COMPILE} ${COMPILE.S} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif # Lex LFLAGS+= ${LPREFIX.${.IMPSRC:T}:D-P${LPREFIX.${.IMPSRC:T}}} Index: src/share/mk/sys.mk diff -u src/share/mk/sys.mk:1.99 src/share/mk/sys.mk:1.100 --- src/share/mk/sys.mk:1.99 Sun Sep 7 15:54:52 2008 +++ src/share/mk/sys.mk Tue Mar 2 20:49:18 2010 @@ -1,4 +1,4 @@ -# $NetBSD: sys.mk,v 1.99 2008/09/07 15:54:52 kent Exp $ +# $NetBSD: sys.mk,v 1.100 2010/03/02 20:49:18 darran Exp $ # @(#)sys.mk 8.2 (Berkeley) 3/21/94 unix?= We run NetBSD. @@ -48,6 +48,22 @@ COMPILE.c?= ${CC} ${CFLAGS} ${CPPFLAGS} -c LINK.c?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} +# C Type Format data is required for DTrace +# XXX TBD VERSION is not defined +CTFFLAGS ?= -L VERSION +CTFMFLAGS ?= -t -L VERSION + +.if defined(MKDTRACE) && ${MKDTRACE} != "no" +CTFCONVERT ?= ${TOOL_CTFCONVERT} +CTFMERGE ?= ${TOOL_CTFMERGE} +.if defined(CFLAGS) && (${CFLAGS:M-g} != "") +CTFFLAGS += -g +CTFMFLAGS += -g +.else +CFLAGS += -g +.endif +.endif + CXX?= c++ CXXFLAGS?= ${CFLAGS:N-Wno-traditional:N-Wstrict-prototypes:N-Wmissing-prototypes:N-Wno-pointer-sign:N-ffreestanding:N-std=gnu99} @@ -113,8 +129,14 @@ # C .c: ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .c.o: ${COMPILE.c} ${.IMPSRC} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .c.a: ${COMPILE.c} ${.IMPSRC} ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o @@ -146,8 +168,14 @@ .F: ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .F.o: ${COMPILE.F} ${.IMPSRC} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .F.a: ${COMPILE.F} ${.IMPSRC} ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o @@ -165,8 +193,14 @@ # Pascal .p: ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .p.o: ${COMPILE.p} ${.IMPSRC} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .p.a: ${COMPILE.p} ${.IMPSRC} ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o @@ -175,16 +209,28 @@ # Assembly .s: ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .s.o: ${COMPILE.s} ${.IMPSRC} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .s.a: ${COMPILE.s} ${.IMPSRC} ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o rm -f ${.PREFIX}.o .S: ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .S.o: ${COMPILE.S} ${.IMPSRC} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .S.a: ${COMPILE.S} ${.IMPSRC} ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o