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: [BZ#17090/17620/17621]: fix DTV race, assert, and DTV_SURPLUS Static TLS limit


On Thu, 2014-11-20 at 04:48 -0200, Alexandre Oliva wrote:
> On Nov 20, 2014, Roland McGrath <roland@hack.frob.com> wrote:
> 
> >> - special-case the _dl_tls_dtv_slotinfo_list lookup so that we can find
> >> it both as a member of _rtld_global, defined in ld.so, and as a
> >> stand-alone symbol defined in the main static executable.  
> 
> > I wouldn't really call this a special case.  It's easy enough to extend the
> > DB_SYMBOL macro, db-symbols.h, and td_symbol_list.c to distinguish the
> > object name for different symbols.  Then _rtld_global is a symbol like any
> > other (but for LD_SO instead of LIBPTHREAD_SO).  The td_thr_tlsbase code
> > can just look for _rtld_global first and if it doesn't find that, look for
> > _dl_tls_dtv_slotinfo_list instead.
> 
> > This seems like the right thing to do.
> 
> Thanks.  How about this, WRT the nptl_db new internal interfaces?

While you're at it and have this paged in:  Are there any occurrences of
memory accesses in the code you touched (or that you reviewed while
doing this) that should be annotated as atomic accesses?  Including in
the asserts?

I'm not familiar with the TLS stuff, and I haven't looked at the patch
in detail.  I just want to make sure that we don't have to revisit it
again later when we continue making this data-race-free.  Thanks.


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