Hi, Ever since this commit
commit c9114f2804b91690e030383de15a24e0b738e856 Author: Bernd Edlinger <bernd.edlin...@hotmail.de> Date: Fri May 28 06:27:27 2021 +0200 Various tools have been having trouble with cross compilation resulting in make[2]: *** No rule to make target '../build-x86_64-build_pc-linux-gnu/libcpp/libcpp.a', needed by 'build/genmatch'. (took a while to track down). I don't understand this part of the build system well enough to know how to fix this. It looks like `libcpp.a` has special handling for cross compilers which now seems to be broken. I can't reproduce it with our normal cross compiler scripts. Which handles the stages on its own, but e.g. https://github.com/crosstool-ng/crosstool-ng does reproduce the failure. Any ideas what's going on? Kind Regards, Tamar > -----Original Message----- > From: Gcc-patches <gcc-patches-boun...@gcc.gnu.org> On Behalf Of > Michael Matz > Sent: Friday, May 28, 2021 4:33 PM > To: Bernd Edlinger <bernd.edlin...@hotmail.de> > Cc: gcc-patches@gcc.gnu.org; Richard Biener <rguent...@suse.de> > Subject: Re: [PATCH] Generate gimple-match.c and generic-match.c earlier > > Hello, > > On Fri, 28 May 2021, Bernd Edlinger wrote: > > > >> I was wondering, why gimple-match.c and generic-match.c are not > > >> built early but always last, which slows down parallel makes > > >> significantly. > > >> > > >> The reason seems to be that generated_files does not mention > > >> gimple-match.c and generic-match.c. > > >> > > >> This comment in Makefile.in says it all: > > >> > > >> $(ALL_HOST_OBJS) : | $(generated_files) > > >> > > >> So this patch adds gimple-match.c generic-match.c to generated_files. > > >> > > >> > > >> Tested on x86_64-pc-linux-gnu. > > >> Is it OK for trunk? > > > > > > This should help for what I was complaining about in > > > https://gcc.gnu.org/pipermail/gcc/2021-May/235963.html . I build > > > with > > > -j24 and it was stalling on compiling gimple-match.c for me. > > > Looks like insn-attrtab.c is missed too; I saw genattrtab was running last > too. > > > > > > > Yeah, probably insn-automata.c as well, sometimes it is picked up > > early sometimes not. maybe $(simple_generated_c) should be added to > > generated_files, but insn-attrtab.c is yet another exception. > > You can't put files in there that are sometimes slow to generate (which insn- > {attrtab,automata}.c are on some targets), as _everything_ then waits for > them to be created first. > > Ideally there would be a way for gnumake to mark some targets as "ugh- > slow" and back-propagate this to all dependencies so that those are put in > front of the work queue in a parallel make. Alas, something like that never > came into existence :-/ (When order-only deps were introduced I got > excited, but then came to realize that that wasn't what was really needed for > this case, a "weak" version of it would be required at least, or better yet a > specific facility to impose a cost with a target) > > > Ciao, > Michael. > > > > > > > Bernd. > > > > > Thanks, > > > Andrew > > > > > >> > > >> > > >> Thanks > > >> Bernd. > > >> > > >> > > >> 2021-05-28 Bernd Edlinger <bernd.edlin...@hotmail.de> > > >> > > >> * Makefile.in (generated_files): Add gimple-match.c and > > >> generic-match.c > >