glibc 2.19 - asyn-signal safe TLS and ASan.
Joseph S. Myers
joseph@codesourcery.com
Fri Jan 24 17:53:00 GMT 2014
On Fri, 24 Jan 2014, Paul Pluzhnikov wrote:
> I *think* exporting these symbols for 2.19 is the right thing to do.
I don't think such symbols are a good idea for the public interface (as
opposed to GLIBC_PRIVATE) - and in any case, symbols should not be added
to the public interface during release freeze, unless only for an
architecture for which you are doing the release testing, because adding
public symbols means updating all the ABI baselines and retesting in all
relevant configurations.
Specifically, I think of the present solution as an interim solution,
until someone implements TLS in a way that does the allocation at
pthread_create / dlopen time and avoids the possibility of allocation
failure where an error cannot be returned. And it's not obvious that such
non-lazy allocation would need signal-safe allocators at all - meaning
that glibc built for new architectures, not needing compatibility for any
old binaries relying on overcommit for TLS variables, could then avoid
including those allocators (presuming we keep them at all to make
allocation for existing binaries signal-safe).
Exporting symbols at GLIBC_PRIVATE is not a good solution for externally
maintained projects because those shouldn't be using GLIBC_PRIVATE symbols
at all.
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list