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.