Module Name: src Committed By: chs Date: Sun Feb 25 18:53:23 UTC 2018
Modified Files: src/share/mk: bsd.host.mk sys.mk Log Message: add DTRACE_OPTS and HOST_DTRACE_OPTS to allow disabling various optimizations that interfere with using dtrace. use them when MKDTRACE=yes. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/share/mk/bsd.host.mk cvs rdiff -u -r1.129 -r1.130 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.host.mk diff -u src/share/mk/bsd.host.mk:1.3 src/share/mk/bsd.host.mk:1.4 --- src/share/mk/bsd.host.mk:1.3 Sat Feb 20 15:18:46 2016 +++ src/share/mk/bsd.host.mk Sun Feb 25 18:53:23 2018 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.host.mk,v 1.3 2016/02/20 15:18:46 christos Exp $ +# $NetBSD: bsd.host.mk,v 1.4 2018/02/25 18:53:23 chs Exp $ .if !defined(_BSD_HOST_MK_) _BSD_HOST_MK_=1 @@ -9,11 +9,16 @@ HOST_DBG?= -g HOST_DBG?= -O .endif +.if ${MKDTRACE:Uno} != "no" +# disable compiler options that interfere with dtrace +HOST_DTRACE_OPTS?= -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-ipa-sra +.endif + # Helpers for cross-compiling HOST_CC?= cc HOST_CFLAGS?= ${HOST_DBG} -HOST_COMPILE.c?=${HOST_CC} ${HOST_CFLAGS} ${HOST_CPPFLAGS} -c -HOST_COMPILE.cc?= ${HOST_CXX} ${HOST_CXXFLAGS} ${HOST_CPPFLAGS} -c +HOST_COMPILE.c?=${HOST_CC} ${HOST_CFLAGS} ${HOST_DTRACE_OPTS} ${HOST_CPPFLAGS} -c +HOST_COMPILE.cc?= ${HOST_CXX} ${HOST_CXXFLAGS} ${HOST_DTRACE_OPTS} ${HOST_CPPFLAGS} -c HOST_LINK.cc?= ${HOST_CXX} ${HOST_CXXFLAGS} ${HOST_CPPFLAGS} ${HOST_LDFLAGS} .if defined(HOSTPROG_CXX) HOST_LINK.c?= ${HOST_LINK.cc} Index: src/share/mk/sys.mk diff -u src/share/mk/sys.mk:1.129 src/share/mk/sys.mk:1.130 --- src/share/mk/sys.mk:1.129 Wed Mar 30 17:35:43 2016 +++ src/share/mk/sys.mk Sun Feb 25 18:53:23 2018 @@ -1,4 +1,4 @@ -# $NetBSD: sys.mk,v 1.129 2016/03/30 17:35:43 martin Exp $ +# $NetBSD: sys.mk,v 1.130 2018/02/25 18:53:23 chs Exp $ # @(#)sys.mk 8.2 (Berkeley) 3/21/94 # # This file contains the basic rules for make(1) and is read first @@ -37,9 +37,12 @@ DBG?= -O2 ${"${.TARGET:M*.po}" == "":? - .else DBG?= -O2 .endif +.if ${MKDTRACE:Uno} != "no" +DTRACE_OPTS?= -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-ipa-sra -fno-ipa-icf +.endif CFLAGS?= ${DBG} LDFLAGS?= -COMPILE.c?= ${CC} ${CFLAGS} ${CPPFLAGS} -c +COMPILE.c?= ${CC} ${CFLAGS} ${DTRACE_OPTS} ${CPPFLAGS} -c LINK.c?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} # C Type Format data is required for DTrace @@ -55,7 +58,7 @@ __ALLSRC3= ${empty(NETBSDSRCDIR):?${__AL __BUILDSEED= ${BUILDSEED}/${__ALLSRC3:O}/${.TARGET} _CXXSEED?= ${BUILDSEED:D-frandom-seed=${__BUILDSEED:hash}} -COMPILE.cc?= ${CXX} ${_CXXSEED} ${CXXFLAGS} ${CPPFLAGS} -c +COMPILE.cc?= ${CXX} ${_CXXSEED} ${CXXFLAGS} ${DTRACE_OPTS} ${CPPFLAGS} -c LINK.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} OBJC?= ${CC}