From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13393 invoked by alias); 11 Nov 2019 07:16:12 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 13383 invoked by uid 89); 11 Nov 2019 07:16:12 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-22.4 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy=0930, 19am, 19AM, 2200 X-HELO: mail-pf1-f194.google.com Received: from mail-pf1-f194.google.com (HELO mail-pf1-f194.google.com) (209.85.210.194) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 11 Nov 2019 07:16:08 +0000 Received: by mail-pf1-f194.google.com with SMTP id s5so10048214pfh.9 for ; Sun, 10 Nov 2019 23:16:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=jY6ddnHzs6HJrETkcLS+NFbrb1n1J/0D5rtKJhcfldE=; b=rE3bOrV5F15e/M5owKCNQaOOm5oWFoiisYkyuIfFKl3jLmmfOKQ9zR2pHtEY3/Bkr/ uZk3ObaBSGVYl8JmpISWWefKu67rp/lef8nOPY3ORAJQMNAV7wih16cN5iuZNbQPhJI4 CkXFVi+cVnrOQYlvP2WR+JfoBbKY7nlDTzTdjknA8eYtWogjL40apH/G7niCA/Q0ERr2 5ykp2GGgEGe+BxUuWzMx7LuyYiy+3fltckIsUH4AyGIkix3fy7Sf5YeGIRRIMniI7BTT oOx2IODhIFIjc54XB29vf+Vf63ZBBgYYB57vqjFh3r22yHByp/gkhs0CBkCNRN/EVmFe DCog== Return-Path: Received: from bubble.grove.modra.org (158.106.96.58.static.exetel.com.au. [58.96.106.158]) by smtp.gmail.com with ESMTPSA id c12sm15915868pfp.67.2019.11.10.23.16.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 Nov 2019 23:16:05 -0800 (PST) Received: by bubble.grove.modra.org (Postfix, from userid 1000) id 28F8980609; Mon, 11 Nov 2019 17:46:01 +1030 (ACDT) Date: Mon, 11 Nov 2019 07:40:00 -0000 From: Alan Modra To: Segher Boessenkool Cc: gcc-patches@gcc.gnu.org Subject: Re: PC-relative TLS support Message-ID: <20191111071600.GA30058@bubble.grove.modra.org> References: <20190814205732.GA11956@ibm-toto.the-meissners.org> <20190815040510.GJ1969@bubble.grove.modra.org> <20190815182407.GN31406@gate.crashing.org> <20190816015930.GA26147@bubble.grove.modra.org> <20190819124519.GF31406@gate.crashing.org> <20190821122528.GC9455@bubble.grove.modra.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190821122528.GC9455@bubble.grove.modra.org> User-Agent: Mutt/1.9.4 (2018-02-28) X-IsSubscribed: yes X-SW-Source: 2019-11/txt/msg00704.txt.bz2 On Wed, Aug 21, 2019 at 09:55:28PM +0930, Alan Modra wrote: > On Mon, Aug 19, 2019 at 07:45:19AM -0500, Segher Boessenkool wrote: > > But if you think we can remove the !TARGET_TLS_MARKERS everywhere it > > is relevant at all, now is the time, patches very welcome, it would be > > a nice cleanup :-) Needs testing everywhere of course, but now is > > stage 1 :-) > > This patch removes !TARGET_TLS_MARKERS support. -mtls-markers (and > -mno-tls-markers) disappear as valid options too, because I figure > they haven't been used too much except by people testing the > compiler. Bootstrapped and regression tested powerpc64le-linux and > powerpc-ibm-aix7.1.3.0 (on gcc111). I believe powerpc*-darwin doesn't > support TLS. > > Requiring an 8 year old binutils-2.20 shouldn't be that onerous. > > Note that this patch doesn't remove the configure test to set > HAVE_AS_TLS_MARKERS. I was wondering whether I ought to hook that > into a "sorry, your assembler is too old" error? https://gcc.gnu.org/ml/gcc-patches/2019-08/msg01487.html I should have pinged this before now, and really I think the following additional patch makes more sense than any sort of sorry message. Mostly people will be running the assembler anyway so will discover quickly that their assembler is too old. * configure.ac (HAVE_AS_TLS_MARKERS): Delete test. * configure: Regenerate. * config.in: Regenerate. diff --git a/gcc/configure.ac b/gcc/configure.ac index 5f32fd4d5e4..44d816630e9 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -4811,12 +4811,6 @@ LCF0: [AC_DEFINE(HAVE_AS_GNU_ATTRIBUTE, 1, [Define if your assembler supports .gnu_attribute.])]) - gcc_GAS_CHECK_FEATURE([tls marker support], - gcc_cv_as_powerpc_tls_markers, [2,20,0],, - [ bl __tls_get_addr(x@tlsgd)],, - [AC_DEFINE(HAVE_AS_TLS_MARKERS, 1, - [Define if your assembler supports arg info for __tls_get_addr.])]) - gcc_GAS_CHECK_FEATURE([prologue entry point marker support], gcc_cv_as_powerpc_entry_markers, [2,26,0],-a64 --fatal-warnings, [ .reloc .,R_PPC64_ENTRY; nop],, > * config/rs6000/rs6000-protos.h (rs6000_output_tlsargs): Delete. > * config/rs6000/rs6000.c (rs6000_output_tlsargs): Delete. > (rs6000_legitimize_tls_address): Remove !TARGET_TLS_MARKERS code. > (rs6000_call_template_1): Delete TARGET_TLS_MARKERS test and > allow other UNSPECs besides UNSPEC_TLSGD and UNSPEC_TLSLD. > (rs6000_indirect_call_template_1): Likewise. > (rs6000_pltseq_template): Likewise. > (rs6000_opt_vars): Remove "tls-markers" entry. > * config/rs6000/rs6000.h (TARGET_TLS_MARKERS): Don't define. > (IS_NOMARK_TLSGETADDR): Likewise. > * config/rs6000/rs6000.md (tls_gd): Replace TARGET_TLS_MARKERS > with !TARGET_XCOFF. > (tls_gd_high, tls_gd_low): Likewise. > (tls_ld, tls_ld_high, tls_ld_low): Likewise. > (pltseq_plt_pcrel): Likewise. > (call_value_local32): Remove IS_NOMARK_TLSGETADDR predicate test. > (call_value_local64): Likewise. > (call_value_indirect_nonlocal_sysv): Remove IS_NOMARK_TLSGETADDR > output and length attribute sub-expression. > (call_value_nonlocal_sysv), > (call_value_nonlocal_sysv_secure), > (call_value_local_aix, call_value_nonlocal_aix), > (call_value_indirect_aix, call_value_indirect_elfv2), > (call_value_indirect_pcrel): Likewise. > * config/rs6000/rs6000.opt (mtls-markers): Delete. > * doc/install.texi (powerpc-*-*): Require binutils-2.20. -- Alan Modra Australia Development Lab, IBM