From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id CDF2B3861033 for ; Thu, 1 Oct 2020 08:49:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org CDF2B3861033 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-431-AotdBsd3M9-QDUlBPOSVLw-1; Thu, 01 Oct 2020 04:49:47 -0400 X-MC-Unique: AotdBsd3M9-QDUlBPOSVLw-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 9674C805EE3; Thu, 1 Oct 2020 08:49:46 +0000 (UTC) Received: from oldenburg2.str.redhat.com (ovpn-114-84.ams2.redhat.com [10.36.114.84]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A304E1002C0F; Thu, 1 Oct 2020 08:49:45 +0000 (UTC) From: Florian Weimer To: Tulio Magno Quites Machado Filho via Libc-alpha Cc: Tulio Magno Quites Machado Filho , amodra@gmail.com Subject: Re: [PATCH] powerpc64: Implement TLS using PC-relative addressing References: <20200930195512.724059-1-tuliom@linux.ibm.com> Date: Thu, 01 Oct 2020 10:49:43 +0200 In-Reply-To: <20200930195512.724059-1-tuliom@linux.ibm.com> (Tulio Magno Quites Machado Filho via Libc-alpha's message of "Wed, 30 Sep 2020 16:55:12 -0300") Message-ID: <87y2kqjpp4.fsf@oldenburg2.str.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Oct 2020 08:49:51 -0000 * Tulio Magno Quites Machado Filho via Libc-alpha: > diff --git a/sysdeps/powerpc/mod-tlsopt-powerpc.c b/sysdeps/powerpc/mod-tlsopt-powerpc.c > index ee0db12a73..5856dab60b 100644 > --- a/sysdeps/powerpc/mod-tlsopt-powerpc.c > +++ b/sysdeps/powerpc/mod-tlsopt-powerpc.c > @@ -24,7 +24,14 @@ tls_get_addr_opt_test (void) > tls_index *tls_arg; > #ifdef __powerpc64__ > register unsigned long thread_pointer __asm__ ("r13"); > + /* PC-relative addressing is available when compiling with -mpcrel. > + The first releases of GCC 10 do support -mpcrel, but do not export > + __PCREL__. */ > +# if defined(__PCREL__) || __GNUC__ <= 10 && defined(_ARCH_PWR10) > + asm ("pla %0,foo@got@tlsgd@pcrel" : "=r" (tls_arg)); > +# else > asm ("addi %0,2,foo@got@tlsgd" : "=r" (tls_arg)); > +# endif Should this check for binutils support for @pcrel? Or won't GCC enable _ARCH_PWR10 in this case? Thanks, Florian -- Red Hat GmbH, https://de.redhat.com/ , Registered seat: Grasbrunn, Commercial register: Amtsgericht Muenchen, HRB 153243, Managing Directors: Charles Cachera, Brian Klemm, Laurie Krebs, Michael O'Neill