This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [committed] PR gas/12915: MIPS prev_nop_frag assert
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: binutils at sourceware dot org
- Date: Thu, 23 Jun 2011 21:31:35 +0100
- Subject: Re: [committed] PR gas/12915: MIPS prev_nop_frag assert
- References: <87oc1oe1pb.fsf@firetop.home>
Richard Sandiford <rdsandiford@googlemail.com> writes:
> The problem is that this check also includes any hazards generated by
> the previous instructions in the ".set noreorder" block too, even though
> they aren't relevant here; the user is asserting that there are no such
> hazards. That is, we had:
>
> INSN1 1-+
> INSN2 2-+ 1-+
> INSN3 3-+ 2-+ 1-+
> INSN4 4-+ 3-+ 2-+ 1-+
> .set noreorder | | | |
> INSN5 5-+ 4-+ 3-+ 2-+
> INSN6 5-+ 4-+ 3-+
> INSN7 5-+ 4-+
> INSN8 5-+
>
> Which is a pretty basic oversight (of mine) really :-(
>
> The patch below restricts the check to instructions outside the current
> ".set noreorder" block. Tested on mips64-linux-gnu and applied.
Hmm, actually, I now see that this isn't right for the 24k errata
(and pessimistic for the vr4130 errata). I'll test a different
approach...
Richard