Maciej Rozycki <maciej.rozy...@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