On 20/02/15 04:14, Hurugalawadi, Naveen wrote: > Hi Marcus, > >>> The handling of SYMBOL_SMALL_TPREL is present in 4.9 and very clearly >>> has exactly the same issue. > > Please find attached the patch ported for gcc-4.9. > > Please review the patch and let us know if its okay? > Regression tested on aarch64-elf. > > Thanks, > Naveen > > > 2015-02-20 Andrew Pinski <apin...@cavium.com> > Naveen H.S <naveen.hurugalaw...@caviumnetworks.com> > > * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately): > Check whether the destination of SYMBOL_SMALL_TPREL is Pmode. >
OK. R. > > symbolref_ilp32.patch > > > Index: gcc/config/aarch64/aarch64.c > =================================================================== > --- gcc/config/aarch64/aarch64.c (revision 220806) > +++ gcc/config/aarch64/aarch64.c (working copy) > @@ -659,6 +659,10 @@ > case SYMBOL_SMALL_TPREL: > { > rtx tp = aarch64_load_tp (NULL); > + > + if (GET_MODE (dest) != Pmode) > + tp = gen_lowpart (GET_MODE (dest), tp); > + > emit_insn (gen_tlsle_small (dest, tp, imm)); > set_unique_reg_note (get_last_insn (), REG_EQUIV, imm); > return; >