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 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


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