Hi Alan,

This patch is okay (for trunk, and backports if needed), thanks!

I'll review your other patches next week.


Segher


On Mon, Jan 07, 2019 at 12:28:44PM +1030, Alan Modra wrote:
> I restricted output of inline PLT sequences to when TLS marker relocs
> were also available, which is obviously true when just considering
> assembler support.  However, there is a -mno-tls-markers option to
> disable emitting the marker relocs.  Currently that option also
> disables inline PLT sequences, which is a bug (*).  This patch fixes
> that problem.
> 
> *) To be honest, it was a deliberate bug.  I didn't want to have to
> deal with inline PLT __tls_get_addr sequences lacking the marker
> relocs in the linker, but it turns out the existing linker support for
> old-style __tls_get_addr calls works reasonably well.
> 
> Bootstrapped and regression tested powerpc64le-linux and
> powerpc64-linux, with and without -mno-tls-markers.  OK to apply?
> 
>       * config/rs6000/rs6000.c (rs6000_indirect_call_template_1),
>       (rs6000_pltseq_template): Guard output of TLS markers with
>       TARGET_TLS_MARKERS.
>       (rs6000_longcall_ref, rs6000_call_aix, rs6000_call_sysv),
>       (rs6000_sibcall_sysv): Ignore TARGET_TLS_MARKERS when deciding
>       to use inline PLT sequences.
>       * config/rs6000/rs6000.md (pltseq_tocsave_<mode>),
>       (pltseq_plt16_ha_<mode>, pltseq_plt16_lo_<mode>),
>       (pltseq_mtctr_<mode>): Don't test TARGET_TLS_MARKERS in predicate.

Reply via email to