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
> >

Reply via email to