This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.21-533-ga7fcc2f
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 24 Jun 2015 23:31:29 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.21-533-ga7fcc2f
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via a7fcc2f8edb26e4d54b6a740aaa3f3bb0caebd14 (commit)
from f9536db79065ad00efd877b4d80a1dd06938bd0a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a7fcc2f8edb26e4d54b6a740aaa3f3bb0caebd14
commit a7fcc2f8edb26e4d54b6a740aaa3f3bb0caebd14
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu May 7 13:26:34 2015 -0700
Align TCB offset to the maximum alignment
We need to align TCB offset to the maximum alignment for TLS_TCB_AT_TP
targets, as _dl_allocate_tls_storage (in elf/dl-tls.c) does using
__libc_memalign and dl_tls_static_align.
[BZ #18383]
* csu/libc-tls.c (__libc_setup_tls) [TLS_TCB_AT_TP]: Align
TCB_OFFSET to MAX_ALIGN, not just TCBALIGN. Add comment.
* elf/Makefile (test-xfail-tst-tlsalign{,-static}): Remove
comment for i386/x86-64.
(test-xfail-tst-tlsalign-extern-static): Removed.
diff --git a/ChangeLog b/ChangeLog
index 97fbe48..eb44829 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2015-06-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ [BZ #18383]
+ * csu/libc-tls.c (__libc_setup_tls) [TLS_TCB_AT_TP]: Align
+ TCB_OFFSET to MAX_ALIGN, not just TCBALIGN. Add comment.
+ * elf/Makefile (test-xfail-tst-tlsalign{,-static}): Remove
+ comment for i386/x86-64.
+ (test-xfail-tst-tlsalign-extern-static): Removed.
+
2015-06-24 Joseph Myers <joseph@codesourcery.com>
* math/test-double.h: New file.
diff --git a/csu/libc-tls.c b/csu/libc-tls.c
index 64d1779..3f13425 100644
--- a/csu/libc-tls.c
+++ b/csu/libc-tls.c
@@ -138,7 +138,10 @@ __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, as
+ _dl_allocate_tls_storage (in elf/dl-tls.c) does using __libc_memalign
+ and dl_tls_static_align. */
+ tcb_offset = roundup (memsz + GL(dl_tls_static_size), max_align);
tlsblock = __sbrk (tcb_offset + tcbsize + max_align);
#elif TLS_DTV_AT_TP
tcb_offset = roundup (tcbsize, align ?: 1);
diff --git a/elf/Makefile b/elf/Makefile
index 871cb4f..4ea3ccf 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -523,16 +523,13 @@ $(objpfx)tst-initorder: $(objpfx)tst-initordera4.so $(objpfx)tst-initordera1.so
$(objpfx)tst-null-argv: $(objpfx)tst-null-argv-lib.so
$(objpfx)tst-tlsalign: $(objpfx)tst-tlsalign-lib.so
-# BZ#18383: broken on at least ARM (both) and i386/x86-64 (static only).
+# BZ#18383: broken on at least ARM (both).
test-xfail-tst-tlsalign = yes
test-xfail-tst-tlsalign-static = yes
$(objpfx)tst-tlsalign-extern: $(objpfx)tst-tlsalign-vars.o
$(objpfx)tst-tlsalign-extern-static: $(objpfx)tst-tlsalign-vars.o
-# BZ#18383: broken on at least i386/x86-64 (static only).
-test-xfail-tst-tlsalign-extern-static = yes
-
tst-null-argv-ENV = LD_DEBUG=all LD_DEBUG_OUTPUT=$(objpfx)tst-null-argv.debug.out
LDFLAGS-nodel2mod3.so = $(no-as-needed)
LDFLAGS-reldepmod5.so = $(no-as-needed)
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 9 +++++++++
csu/libc-tls.c | 5 ++++-
elf/Makefile | 5 +----
3 files changed, 14 insertions(+), 5 deletions(-)
hooks/post-receive
--
GNU C Library master sources