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: [PR18457] Don't require rtld lock to compute DTV addr for static TLS


On Mon, 2015-06-08 at 23:30 -0300, Alexandre Oliva wrote:
> On Jun  7, 2015, Torvald Riegel <triegel@redhat.com> wrote:
> 
> > That sounds like it is not just about reaching consensus on the final
> > value of l_tls_offset:  For example, you mention initialization in
> > there,
> 
> Yeah, we've already covered the relocation in the tls initialization
> block, performed by the dynamic loader.  Why do we have to go in
> circles?

Your comment, that you claimed was crystal-clear, seems inconsistent
with what you described elsewhere.  That's the reason.

> > Also, it sounds as if any thread concurrent with the dlopen could only
> > actually create a concurrent access if dlopen has the lock already --
> > but that doesn't seem to be a requirement based on the "spin"
> > example/analogy you gave.
> 
> There are two roles dlopen plays here:
> 
> 1. loading the module that defines the TLS variable
> 
> 2. applying TLS replications to modules that reference the TLS variable
> 
> It might turn out that 1. and 2. are performed under a single rtld lock
> taking, and a subsequent dlopen could bring in additional references to
> TLS variables.
> 

I can't follow you; I don't see how it addresses my comment.  But given
that you'll stop working on this patch anywhere and have handed it off
to Siddhesh, I'll discuss with Siddhesh.


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