[PATCH] MIPS: microMIPS ASE support

Fu, Chao-Ying fu@mips.com
Tue Feb 22 20:19:00 GMT 2011


> 
> > > > +  /* For microMIPS PC relative relocations, we cannot 
> > convert it to
> > > > +     against a section.  If we do, it will mess up the 
> > fixp->fx_offset.  */
> > > >    if (fixp->fx_r_type == BFD_RELOC_VTABLE_INHERIT
> > > > -      || fixp->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
> > > > +      || fixp->fx_r_type == BFD_RELOC_VTABLE_ENTRY
> > > > +      || fixp->fx_r_type == BFD_RELOC_MICROMIPS_7_PCREL_S1
> > > > +      || fixp->fx_r_type == BFD_RELOC_MICROMIPS_10_PCREL_S1
> > > > +      || fixp->fx_r_type == BFD_RELOC_MICROMIPS_16_PCREL_S1)
> > > 
> > > "to be against a section".  That's not a helpful comment though.
> > > _How_ will it mess up fixp->fx_offset?  Give the reader a clue why
> > > the problem applies to BFD_RELOC_MICROMIPS_16_PCREL_S1 but not
> > > to something like BFD_RELOC_16_PCREL_S2.

  GAS resolves all MIPS pc-relative relocation types inside assembling, so there are no issues for
BFD_RELOC_16_PCREL_S2.  For microMIPS, GAS leaves them to the linker, so we hit new issues for
microMIPS pc-relative relocation types.  Thanks!

Regards,
Chao-ying



More information about the Binutils mailing list