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: [COMMITTED PATCH] BZ#18383: Add test case for large alignment in TLS blocks.


> 	[BZ #18383]
> 	* csu/libc-tls.c (__libc_setup_tls): Align TCB offset to the
> 	maximum alignment for TLS_TCB_AT_TP targets.

	* csu/libc-tls.c (__libc_setup_tls) [TLS_TCB_AT_TP]:
	Align TCB_OFFSET to MAX_ALIGN, not just TCBALIGN.  Add comment.

> @@ -138,7 +138,9 @@ __libc_setup_tls (size_t tcbsize, size_t tcbalign)
>       to request some surplus that permits dynamic loading of modules with
>       IE-model TLS.  */
>  #if TLS_TCB_AT_TP
> -  tcb_offset = roundup (memsz + GL(dl_tls_static_size), tcbalign);
> +  /* Align the TCB offset to the maximum alignment, similar to what
> +     _dl_allocate_tls_storage in elf/dl-tls.c does.  */
> +  tcb_offset = roundup (memsz + GL(dl_tls_static_size), max_align);

This would be yet more clear if it said:

  /* Align the TCB offset to the maximum alignment, as
     _dl_allocate_tls_storage (in elf/dl-tls.c) does using __libc_memalign
     and dl_tls_static_align.  */

The patch should also remove the XFAIL for tst-align-extern-static
and update the comment on the XFAILs for tst-tlsalign{,-static}
not to say that x86 is broken.

OK with those details.


Thanks,
Roland


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