From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29772 invoked by alias); 6 Dec 2016 18:31:26 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 29741 invoked by uid 89); 6 Dec 2016 18:31:26 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-4.5 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS,URIBL_RED autolearn=ham version=3.3.2 spammy= X-HELO: port70.net Date: Tue, 06 Dec 2016 18:31:00 -0000 From: Szabolcs Nagy To: Joseph Myers Cc: Szabolcs Nagy , Torvald Riegel , nd@arm.com, GNU C Library Subject: Re: [RFC][BZ #19329] high level description of pthread_create vs dlopen races Message-ID: <20161206183110.GA16379@port70.net> References: <583C7F76.3000601@arm.com> <1480965875.14990.199.camel@redhat.com> <5846F3EB.2060003@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.6.0 (2016-04-01) X-SW-Source: 2016-12/txt/msg00202.txt.bz2 * Joseph Myers [2016-12-06 17:47:45 +0000]: > On Tue, 6 Dec 2016, Szabolcs Nagy wrote: > > > meanwhile the rest of the world needs a way to detect > > reentry into an as-safe library call which currently > > requires as-safe tls (signal mask is not an option: > > syscalls are too slow) and a way to do soft float > > correctly (fenv is tls and arithmetics must be as-safe) > > or just access errno (which could be made as-safe even > > if tls access is not as-safe otherwise, but specifying > > that correctly in the standard is more hassle than > > requiring all tls access to be as-safe). > > errno, the powerpc soft-float floating-point environment and the libdfp > soft-dfp decimal rounding mode are all initial-exec TLS (and other cases > of floating-point environment are hardware registers rather than TLS > variables). Does being initial-exec help? > yes, that works. only tls access through __tls_get_addr may be non-as-safe now. (but if a language standard does not guarantee tls access to be as-safe then implementation behaviour does not help portable code.)