On Wed, Oct 29, 2014 at 6:13 PM, David Edelsohn <dje....@gmail.com> wrote:
> On Wed, Oct 29, 2014 at 9:24 AM, Richard Biener
> <richard.guent...@gmail.com> wrote:
>
>> Because only genmatch calls functions from libstdc++.  Btw, why
>> would genmatch miscompile an empty function or the call to it?
>
> I tried bootstrapping with libstdc++ built without the AIX ld "-G"
> flag and that is succeeding.
>
> "-G" produces a shared object for use with SVR4-style runtime linking,
> so this version of libstdc++ no longer allows runtime function
> interposition, e.g., operator new, although it is not used frequently.
> Something about the GCC-produced tail calls is interacting badly with
> that feature.
>
> Note that this makes GCC bootstrap on AIX very fragile at the moment
> because it depends on how libstdc++ was built in previous releases.  I
> can bootstrap with GCC 4.6.3 and 4.8.1 but not with 4.7.3, 4.8.0, nor
> 4.9.0.  A problematic libstdc++ from earlier releases causes genmatch
> to loop in stage 1.

I see.  A bootstrap with IPA ICF disabled did not succeed but runs into
the same issue in stage2.  So I wonder if the issue is latent for much
longer and genmatch just exposes it now.

I'll see if I can remove the use of std::map from genmatch as a
workaround.

Thanks,
Richard.

> Thanks, David

Reply via email to