[PATCH 08/08] PR/64003 workaround (uninit memory in i386.md)

Jeff Law law@redhat.com
Wed Jan 1 00:00:00 GMT 2014


On 12/02/14 09:20, David Malcolm wrote:
> In short, I believe the problem occurs with a "*jcc_1" insn that jumps
> forwards, but the full details are in the bug.
>
>> My first thought is that something must be creating a new insn after
>> shorten_branches is complete or an existing insn that was not on the
>> chain when we called shorten-branches, but got threaded onto the chain
>> later.  Either would be considered bad in various ways, so we'd like to
>> fix it.
>
> I don't think either of these are the case.  I believe it's due to the
> size of the jcc_1 insn being affected by the distance to the jump
> target, which for a forward jump is a bit of a chicken-and-egg issue,
> since that distance is affected by the size of the jcc_1 insn itself.
>
> It looks like align_fuzz exists in order to cope with this kind of
> circular definition, but the issue seems to occur inside align_fuzz
> itself.
Sorry, I didn't look at the BZ, you had already put a fair amount of 
analysis in there.  My bad.

This feels sooooo familiar.

Jeff



More information about the Jit mailing list