[PATCH 0/3] MIPS/GCC: Changes for `.insn' assembly annotation

Matthew Fortune Matthew.Fortune@imgtec.com
Mon Nov 14 10:33:00 GMT 2016


Maciej Rozycki <Maciej.Rozycki@imgtec.com> writes:
>  This small patch series addresses an issue uncovered by a recent
> binutils master branch update, scheduled for the upcoming 2.28 release,
> where we fail to annotate stray code labels -- generally produced for
> code marked as unreachable -- that have no instruction following, with
> the `.insn'
> pseudo-op, as explicitly required with the microMIPS ISA and also needed
> with MIPS16 code.  The missing annotation causes assembly failures if
> such a label is a target of a branch.

Thanks for the patches.

Obviously this is going to introduce another dependency between GCC and
binutils releases where new binutils will cause older GCC to stop working.
While there is some justification to this, given the new binutils
behaviour is to add safety, I expect we will see users hit this issue
and want newer binutils with older GCC.

At some point in the future we may therefore have to consider backports
of this work to pre-existing GCC releases or a configure time check in
binutils to relax the new checks if GCC does not have the .insn fix. I
don't know how reliable the latter will but it may be possible.

Thanks,
Matthew



More information about the Gcc-patches mailing list