This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: providing __tls_get_addr on s390?


On 8/31/19 10:10 AM, Aurelien Jarno wrote:
> Dear all,
> 
> I have noticed that GCC recently started to use the
> __tls_get_addr_internal symbol on s390 [1]. This is probably a bad
> idea to use an internal libc symbol outside of the libc as it can be
> modified or removed at anytime.
> 
> That said, I also noticed that s390 is (one of the) only architectures
> which doesn't provide __tls_get_addr. Is there a reason for that? Is it
> something that we should fix?

Stefan,

Is there any reason s390 doesn't implement __tls_get_addr like other arches?
It's always easier if all the machines support the same generic infrastructure.
The lack of __tls_get_addr on s390 forces the D language runtime to have
Z Series specific code to handle TLS calculations :-(

Aurelien,

The D-language runtime encodes a ton of TLS-specific implementation details
and one of them is accessing TLS details.

This can be seen as a failing of glibc to provide a generic low-level TLS
interface for language runtimes. There aren't enough details spelled out
to make it easy to provide TLS details to the runtime.

Either way, *no* language runtime should be using GLIBC_PRIVATE symbols.
Could you please file a bug for that? If they need access they should do
so through the appropriate API e.g. __tls_get_addr which is a standard
API with specified semantics.

-- 
Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]