[RFC][BZ #19329] high level description of pthread_create vs dlopen races
Szabolcs Nagy
nsz@port70.net
Tue Dec 6 18:31:00 GMT 2016
* Joseph Myers <joseph@codesourcery.com> [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.)
More information about the Libc-alpha
mailing list