On Wed, Dec 18, 2019 at 7:58 AM Segher Boessenkool
<seg...@kernel.crashing.org> wrote:
>
> On Sun, Dec 15, 2019 at 09:43:20AM -0800, Ian Lance Taylor wrote:
> > On Sat, Dec 14, 2019 at 11:25 PM Segher Boessenkool
> > <seg...@kernel.crashing.org> wrote:
> > >
> > > On Sat, Dec 14, 2019 at 10:51:50AM -0800, Ian Lance Taylor via gcc wrote:
> > > > I'm seeing compiler crashes building libgcc for powerpc64le-linux-gnu,
> > > > cross-compiling from x86_64-pc-linux-gnu.  I'm at SVN revision 279830.
> > > > I'm seeing the following.  Is anybody else seeing this crash?  Thanks.
> > >
> > > No, and that makes me wonder what is going on.  The error is simple enough
> > > of course, as you note in a later message; but why do we not see it on
> > > every other build?
> >
> > I think it's because clang treats a left shift by a negative number as
> > undefined behavior but GCC does not.  So GCC is consistently producing
> > some number, and clang is producing different numbers.
> >
> > I should note that I don't really understand what purpose that
> > constant is serving anyhow.
>
> It's the (old, changed months ago!) register number for CR7.  This code
> creates the bitfield that says which CR fields to save or restore.

That much I got, but the bitfield doesn't seem to actually be used for
anything.  It seems to be created and matched but not used.  Unless I
missed something.  The constant doesn't seem to add anything we don't
already know from the register number.

> Anyway, should be fixed now.  If you can confirm, please do :-)

Confirmed.  Thanks.

Ian

Reply via email to