From owner-svn-src-projects@freebsd.org Tue Oct 10 06:20:34 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 57A19E259E3 for ; Tue, 10 Oct 2017 06:20:34 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 24AD46E4ED; Tue, 10 Oct 2017 06:20:34 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v9A6KXH7012638; Tue, 10 Oct 2017 06:20:33 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v9A6KXLU012637; Tue, 10 Oct 2017 06:20:33 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201710100620.v9A6KXLU012637@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 10 Oct 2017 06:20:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r324481 - projects/runtime-coverage X-SVN-Group: projects X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: projects/runtime-coverage X-SVN-Commit-Revision: 324481 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Oct 2017 06:20:34 -0000 Author: ngie Date: Tue Oct 10 06:20:33 2017 New Revision: 324481 URL: https://svnweb.freebsd.org/changeset/base/324481 Log: Building libprofile-rt in cross-tools unfortunately doesn't work When built with cross-tools, it builds for the host architecture. We want the target architecture instead. Move the libraries to _prebuild_libs instead so they get built along with libssp_nonshared, etc (libraries that don't rely on --coverage being baked into them because NO_PIC is set). Modified: projects/runtime-coverage/Makefile.inc1 Modified: projects/runtime-coverage/Makefile.inc1 ============================================================================== --- projects/runtime-coverage/Makefile.inc1 Tue Oct 10 06:12:07 2017 (r324480) +++ projects/runtime-coverage/Makefile.inc1 Tue Oct 10 06:20:33 2017 (r324481) @@ -557,8 +557,7 @@ TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ # cross-tools stage XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \ - TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ - MK_COVERAGE_SUPPORT=${MK_COVERAGE} MK_GDB=no \ + TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} MK_GDB=no \ MK_LLD_IS_LD=${MK_LLD_BOOTSTRAP} MK_TESTS=no # kernel-tools stage @@ -2080,12 +2079,6 @@ _lld= usr.bin/clang/lld .if ${MK_CLANG_BOOTSTRAP} != "no" || ${MK_LLD_BOOTSTRAP} != "no" _clang_libs= lib/clang .endif - -.if ${MK_COVERAGE_SUPPORT} != "no" -_coverage_libs.${MK_CLANG}+= lib/libclang_rt/profile -_coverage_lib.${MK_GCC}+= gnu/lib/libgcov -.endif - .if ${MK_GCC_BOOTSTRAP} != "no" _gcc= gnu/usr.bin/cc .endif @@ -2097,7 +2090,6 @@ cross-tools: .MAKE .PHONY .for _tool in \ ${LOCAL_XTOOL_DIRS} \ ${_clang_libs} \ - ${_coverage_libs.yes} \ ${_clang} \ ${_lld} \ ${_binutils} \ @@ -2251,6 +2243,16 @@ _prereq_libs= lib/libcompiler_rt .if ${MK_SSP} != "no" _prereq_libs+= gnu/lib/libssp/libssp_nonshared .endif + +# +# The coverage libraries must be built for the target prior to ${_startup_libs} +# in order for them to have runtime coverage instrumentation. +# +.if ${MK_COVERAGE} != "no" +_coverage_libs.${MK_CLANG}+= lib/libclang_rt/profile +_coverage_lib.${MK_GCC}+= gnu/lib/libgcov +.endif +_prereq_libs+= ${_coverage_libs.yes} # These dependencies are not automatically generated: #