On Mon, 5 Nov 2018 at 23:00, Bryan Drewery <bdrew...@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 command line. > > This triggers the $XCC != $CC case in bsd.compiler.mk (and the same 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_* variables 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="${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-unsubscr...@freebsd.org"