This is the mail archive of the
mailing list for the GCC project.
Re: genmatch infinite loop during bootstrap on AIX
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Richard Biener <rguenther at suse dot de>
- Cc: Richard Biener <richard dot guenther at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 27 Oct 2014 19:06:27 -0400
- Subject: Re: genmatch infinite loop during bootstrap on AIX
- Authentication-results: sourceware.org; auth=none
- References: <CAGWvnykRi9tjw4VPpArRaDYYMZvwxjvYt_oqDGMhjmataTLKJA at mail dot gmail dot com> <A9E6708C-0B2E-4925-A30C-62D88990DBC6 at suse dot de> <CAGWvny=ghm7XKQ6y8oMhQDG1Ru=Si8wqorr6nHrAirp02P6pag at mail dot gmail dot com> <CAGWvnym9p7tmE7s2efNW5YjxSDT-vrW-8xJmYzPpRqRodiFGPg at mail dot gmail dot com> <CAGWvnynWYR5FYctJTa2GGvwGo3asvkU23Y-7Om8pLqCT3w-52A at mail dot gmail dot com> <CAGWvny=Zt44No1-nBWcW+J9_tDSXgFj+-DWAz8NyyzF6kXj-RQ at mail dot gmail dot com> <267699E8-43E8-44DA-AA34-2EB99414238C at suse dot de> <CAGWvny=f9Y=3VQC=RjH7x6xw8Xj9ywyCEWx9ec1u=ikhtOx7hw at mail dot gmail dot com> <C3399E76-42FD-47B0-87CA-2F24C36B930F at gmail dot com> <CAGWvny=efvvSvc2kU+wbktUd9jDBqPCCyjH0ofvMBYh=udrsCQ at mail dot gmail dot com> <F8829865-6E2C-4A8C-A763-209AC5AC55B5 at suse dot de>
The bootstrap with an empty match.pd seems to be succeeding. I don't
know if you have disabled optimizations in other passes that now are
implemented in genmatch. Regular testing of AIX is important to
discover bootstrap issues early and avoid more release blocking
AIX and PPC64 Linux (Big Endian) use basically the same ABI, but PPC64
Linux defaults to 64 bit and AIX defaults to 32 bit, so it's not
testing exactly the same code paths.
On Mon, Oct 27, 2014 at 4:09 PM, Richard Biener <email@example.com> wrote:
> On October 27, 2014 8:13:09 PM CET, David Edelsohn <firstname.lastname@example.org> wrote:
>>On Mon, Oct 27, 2014 at 2:37 AM, Richard Biener
>>> On October 27, 2014 1:49:54 AM CET, David Edelsohn
>>>>Does genmatch rely on static constructors or implicitly rely on the
>>>>order of static constructors? Sometimes those cause problems on AIX.
>>> No, it doesn't.
>>>>Bootstrap on AIX succeeds prior to r216631, e.g., r216624. It works
>>>>after your commit r216619 to correct Makefile.in, or prior to that by
>>>>manually editing Makefile.in to add LIBICONV and LIBINTL.
>>> OK, so this would mean that r216631 causes a miscompile for you.
>>Though that does not match up with you seeing this happening during
>>> The place where it is looping is using std::map <std::string,
>>> Does -static-libstdc++ work for you host compilers?
>>> Can you try emptying gcc/match.pd for a non-working rev.?
>>I am trying a bootstrap with an empty match.pd as a short-term
>>work-around to allow me to continue bootstrapping and testing GCC
>>trunk on AIX while we debug this.
> Not sure if you will be very successful with this :/ I've requested access to the compile-farm so I cab reproduce it. The ppc-linux bootstrap went fine for me.
> The stage1 issue must be either host-compiler related or a build machinery issue. I suspect the stage2 issue to be a miscompile of the stage1 libstdc++ or of stage2 genmatch.