summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-05-07 13:26:34 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-06-24 16:30:58 -0700
commita7fcc2f8edb26e4d54b6a740aaa3f3bb0caebd14 (patch)
tree93de3ec2350c8af7ccc5927071f38382be139de2 /elf
parentf9536db79065ad00efd877b4d80a1dd06938bd0a (diff)
downloadglibc-a7fcc2f8edb26e4d54b6a740aaa3f3bb0caebd14.tar.gz
glibc-a7fcc2f8edb26e4d54b6a740aaa3f3bb0caebd14.tar.xz
glibc-a7fcc2f8edb26e4d54b6a740aaa3f3bb0caebd14.zip
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.
Diffstat (limited to 'elf')
-rw-r--r--elf/Makefile5
1 files changed, 1 insertions, 4 deletions
diff --git a/elf/Makefile b/elf/Makefile
index 871cb4fd65..4ea3ccf441 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)