This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Failure to dlopen libgomp due to static TLS data
- From: Rich Felker <dalias at libc dot org>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: Jakub Jelinek <jakub at redhat dot com>, Ulrich Weigand <uweigand at de dot ibm dot com>, GNU C Library <libc-alpha at sourceware dot org>, GCC Development <gcc at gcc dot gnu dot org>, Richard Henderson <rth at redhat dot com>
- Date: Thu, 12 Feb 2015 12:07:24 -0500
- Subject: Re: Failure to dlopen libgomp due to static TLS data
- Authentication-results: sourceware.org; auth=none
- References: <201502121519 dot t1CFJMAe018776 at d03av02 dot boulder dot ibm dot com> <20150212160959 dot GS23507 at brightrain dot aerifal dot cx> <20150212161145 dot GD1746 at tucnak dot redhat dot com> <CAMe9rOqk9quw-VQU_=+WwEaPuvdjtzbwdG3NQrA0EbJbwyZBnw at mail dot gmail dot com>
On Thu, Feb 12, 2015 at 08:56:26AM -0800, H.J. Lu wrote:
> On Thu, Feb 12, 2015 at 8:11 AM, Jakub Jelinek <jakub@redhat.com> wrote:
> > On Thu, Feb 12, 2015 at 11:09:59AM -0500, Rich Felker wrote:
> >> On Thu, Feb 12, 2015 at 04:18:57PM +0100, Ulrich Weigand wrote:
> >> > Hello,
> >> >
> >> > we're running into a problem related to use of initial-exec access to
> >> > TLS variables in dynamically-loaded libraries. Now, in general, this
> >> > is actually not supported. However, there seems to an "inofficial"
> >> > extension that allows selected system libraries to use small amounts
> >> > of static TLS space to allow critical variables to be defined to use
> >> > the initial-exec model even in dynamically-loaded libraries.
> >>
> >> This usage is supposed to be deprecated. Why isn't libgomp using
> >> TLSDESC/gnu2 model?
> >
> > Because it is significantly slower.
>
> And TLSDESC/gnu2 model isn't implemented for x32.
> There are no tests for TLSDESC/gnu2 model in glibc.
> I have no ideas if it works in glibc master on x86-32 or
> x86-64 today.
Then fixing this should be a priority, IMO. Broken libraries using IE
model "for performance" are a problem that's not going to go away
until TLSDESC gets properly adopted.
Rich