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: Alexandre Oliva <aoliva at redhat dot com>
- To: Roland McGrath <roland at hack dot frob dot com>, codonell at redhat dot com
- Cc: libc-alpha at sourceware dot org
- Date: Tue, 09 Dec 2014 15:52:22 -0200
- 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> <oroas0mzri dot fsf at free dot home>
On Nov 21, 2014, Alexandre Oliva <aoliva@redhat.com> wrote:
> No regressions on x86_64-linux-gnu. Ok to install?
> for ChangeLog
> [BZ #17090]
> [BZ #17620]
> [BZ #17621]
> [BZ #17628]
> * NEWS: Update.
> * elf/dl-tls.c (_dl_update_slotinfo): Clean up outdated DTV
> entries with Static TLS too.
> (tls_get_addr_tail): Update to glibc_likely/unlikely. Move
> Static TLS DTV entry set up from...
> (_dl_allocate_tls_init): ... here (fix modid assertion), ...
> * elf/dl-reloc.c (_dl_nothread_init_static_tls): ... here...
> * nptl/allocatestack.c (init_one_static_tls): ... and here...
> * elf/dlopen.c (dl_open_worker): Drop l_tls_modid upper bound
> for Static TLS.
> * nptl_db/db_info.c: Include ldsodefs.h.
> (rtld_global, dtv_slotinfo_list, dtv_slotinfo): New typedefs.
> * nptl_db/structs.def (DB_RTLD_VARIABLE): New macro.
> (DB_MAIN_VARIABLE, DB_RTLD_GLOBAL_FIELD): Likewise.
> (link_map::l_tls_offset): New struct field.
> (dtv_t::counter): Likewise.
> (rtld_global): New struct.
> (_rtld_global): New rtld variable.
> (dl_tls_dtv_slotinfo_list): New rtld global field.
> (dtv_slotinfo_list): New struct.
> (dtv_slotinfo): Likewise.
> * nptl_db/td_symbol_list.c: Drop gnu/lib-names.h include.
> (td_lookup): Rename to...
> (td_mod_lookup): ... this. Use new mod parameter instead of
> LIBPTHREAD_SO.
> * nptl_db/td_thr_tlsbase.c: Include link.h.
> (dtv_slotinfo_list, dtv_slotinfo): New functions.
> (td_thr_tlsbase): Check DTV generation. Compute Static TLS
> addresses even if the DTV is out of date or missing them.
> * nptl_db/fetch-value.c (_td_locate_field): Do not refuse to
> index zero-length arrays.
> * nptl_db/thread_dbP.h: Include gnu/lib-names.h.
> (td_lookup): Make it a macro implemented in terms of...
> (td_mod_lookup): ... this declaration.
> * nptl_db/db-symbols.awk (DB_RTLD_VARIABLE): Override.
> (DB_MAIN_VARIABLE): Likewise.
Ping?
https://sourceware.org/ml/libc-alpha/2014-11/msg00590.html
--
Alexandre Oliva, freedom fighter http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/ FSF Latin America board member
Free Software Evangelist|Red Hat Brasil GNU Toolchain Engineer