This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [BZ#17090/17620/17621]: fix DTV race, assert, and DTV_SURPLUS Static TLS limit
- From: Torvald Riegel <triegel at redhat dot com>
- To: Alexandre Oliva <aoliva at redhat dot com>
- Cc: Roland McGrath <roland at hack dot frob dot com>, libc-alpha at sourceware dot org
- Date: Thu, 20 Nov 2014 19:14:03 +0100
- Subject: Re: [BZ#17090/17620/17621]: fix DTV race, assert, and DTV_SURPLUS Static TLS limit
- Authentication-results: sourceware.org; auth=none
- References: <ormw7ol1sf dot fsf at free dot home> <20141118203338 dot ECA5F2C3B25 at topped-with-meat dot com> <ord28kkvpq dot fsf at free dot home> <20141118224048 dot 600312C3B23 at topped-with-meat dot com> <orppcjotfm dot fsf at free dot home> <20141120021703 dot 86F032C3B18 at topped-with-meat dot com> <or8uj6qse8 dot fsf at free dot home>
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.
- References:
- [BZ#17090/17620/17621]: fix DTV race, assert, and DTV_SURPLUS Static TLS limit
- Re: [BZ#17090/17620/17621]: fix DTV race, assert, and DTV_SURPLUS Static TLS limit
- Re: [BZ#17090/17620/17621]: fix DTV race, assert, and DTV_SURPLUS Static TLS limit
- Re: [BZ#17090/17620/17621]: fix DTV race, assert, and DTV_SURPLUS Static TLS limit
- Re: [BZ#17090/17620/17621]: fix DTV race, assert, and DTV_SURPLUS Static TLS limit
- Re: [BZ#17090/17620/17621]: fix DTV race, assert, and DTV_SURPLUS Static TLS limit
- Re: [BZ#17090/17620/17621]: fix DTV race, assert, and DTV_SURPLUS Static TLS limit