Date: Tue, 6 Nov 2018 19:12:03 +0200 From: Markiyan Kushnir <markiyan.kushnir@gmail.com> To: arichardson@freebsd.org Cc: bdrewery@freebsd.org, svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r339636 - in head: . share/mk Message-ID: <CACvtUJdu_c8DAxOA=JG6TRGB=ZOrPFL9s49s%2BSqpWbt4n0GEfA@mail.gmail.com> In-Reply-To: <CA%2BZ_v8rcRXR86xnQs32Vgm5q%2B8DcjJJNHJRZOOuHUQrWSB19zQ@mail.gmail.com> References: <201810230631.w9N6VPR4008554@repo.freebsd.org> <9612d267-91dc-b1ee-7530-284376f08f08@FreeBSD.org> <CA%2BZ_v8rcRXR86xnQs32Vgm5q%2B8DcjJJNHJRZOOuHUQrWSB19zQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Alexander, Cannot tell exactly what change it was, might be one of your recent changes to bsd.compiler.mk or Makefile.inc1? ... Now running "make buildworld" I can proceed with "3.1: recording build metadata" only having USING_SYSTEM_COMPILER=3Dyes USING_SYSTEM_LINKER=3Dyes= set in my environment. Otherwise I'm getting this: sh: cc: not found make[2]: "/work/src.svn/share/mk/bsd.compiler.mk" line 176: Unable to determine compiler type for CC=3Dcc -target x86_64-unknown-freebsd13.0 --sysroot=3D//usr/obj/work/src.svn/amd64.amd64/tmp -B//usr/obj/work/src.svn/amd64.amd64/tmp/usr/bin. Consider setting COMPILER_TYPE. *** Error code 1 Stop. make[1]: stopped in /work/src.svn *** Error code 1 Stop. make: stopped in /work/src.svn Failed to build world I'm at rev. 340189. Could you please have a look? -- Markiyan =D0=B2=D1=82, 6 =D0=BB=D0=B8=D1=81=D1=82. 2018 =D0=BE 01:11 Alexander Richa= rdson <arichardson@freebsd.org> =D0=BF=D0=B8=D1=88=D0=B5: > On Mon, 5 Nov 2018 at 23:00, Bryan Drewery <bdrewery@freebsd.org> wrote: > > > > On 10/22/2018 11:31 PM, Alex Richardson wrote: > > > Author: arichardson > > > Date: Tue Oct 23 06:31:25 2018 > > > New Revision: 339636 > > > URL: https://svnweb.freebsd.org/changeset/base/339636 > > > > > > Log: > > > Only compute the X_COMPILER_*/X_LINKER_* variables when needed > > > > > > When building CheriBSD we have to set XLD/XCC/XCFLAGS on the comman= d > line. > > > This triggers the $XCC !=3D $CC case in bsd.compiler.mk (and the sa= me > for LD > > > in bsd.linker.mk) which causes it to call ${XCC} --version and > > > ${XLD} --version (plus various awk+sed+echo calls) in every > subdirectory. > > > For incremental builds and stages that only walk the source tree > this is > > > often the majority of the time spent in that directory. > > > > > ... > > > > > By only computing the value of the X_COMPILER_*/X_LINKER_* variable= s > if > > > _WANT_TOOLCHAIN_CROSS_VARS is set we can reduce the number of cc/ld > calls > > > to once per build stage instead of once per recursive make. > > > > This sounds wrong. bsd.compiler.mk *already* handles that kind of thing > > by exporting its computations. Adding a second hack for a similar > > problem isn't the right solution. > > > > I added debug .info statements for every time bsd.compiler.mk was > running cc --version and it was always running it for $XCC during make > buildworld. > As far as I can tell this happens because $CC and $XCC no longer match. > I believe the problem is that the toplevel makefile runs the cross > stages with CC=3D"${XCC} ${XCFLAGS}" so if you have XCFLAGS set in your > environment $CC will never be equal to $XCC. > This also means there is not cached variable for $XCC since it was > computed for "${XCC} ${XCFLAGS}" rather than $XCC . > > This patch massively reduced the incremental build time for CheriBSD > but if you can suggest I better fix that would be great. > > Alex > _______________________________________________ > svn-src-all@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-all > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACvtUJdu_c8DAxOA=JG6TRGB=ZOrPFL9s49s%2BSqpWbt4n0GEfA>