aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/aarch64
diff options
context:
space:
mode:
authorKyle McMartin <kmcmarti@redhat.com>2014-05-26 12:33:22 +0530
committerSiddhesh Poyarekar <siddhesh@redhat.com>2014-05-26 12:37:19 +0530
commit75f11331f98ebf3873e887a683add944a1aec0fd (patch)
treebb6dc563bd6071ee2f9f325f39f6df37e6be8a5b /sysdeps/aarch64
parentc3ec475c5dd16499aa040908e11d382c3ded9692 (diff)
downloadglibc-75f11331f98ebf3873e887a683add944a1aec0fd.tar
glibc-75f11331f98ebf3873e887a683add944a1aec0fd.tar.gz
glibc-75f11331f98ebf3873e887a683add944a1aec0fd.tar.bz2
glibc-75f11331f98ebf3873e887a683add944a1aec0fd.zip
[AARCH64] correct alignment of TLS_TCB_ALIGN (BZ #16796)
This fixes a variety of testsuite failures for me: tststatic.out Error 1 tststatic2.out Error 1 tst-tls9-static.out Error 1 tst-audit8.out Error 127 tst-audit9.out Error 127 tst-audit1.out Error 127 and also has the added benefit of making LD_AUDIT/sotruss work on AArch64. Otherwise, we bail out early in _dl_try_allocate_static_tls as the alignment requirement of the PT_TLS section in libc is 16.
Diffstat (limited to 'sysdeps/aarch64')
-rw-r--r--sysdeps/aarch64/nptl/tls.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/aarch64/nptl/tls.h b/sysdeps/aarch64/nptl/tls.h
index ae2e6c4fae..8b260a1c69 100644
--- a/sysdeps/aarch64/nptl/tls.h
+++ b/sysdeps/aarch64/nptl/tls.h
@@ -63,7 +63,7 @@ typedef struct
# define TLS_INIT_TCB_SIZE sizeof (tcbhead_t)
/* Alignment requirements for the initial TCB. */
-# define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t)
+# define TLS_INIT_TCB_ALIGN __alignof__ (struct pthread)
/* This is the size of the TCB. */
# define TLS_TCB_SIZE sizeof (tcbhead_t)
@@ -72,7 +72,7 @@ typedef struct
# define TLS_PRE_TCB_SIZE sizeof (struct pthread)
/* Alignment requirements for the TCB. */
-# define TLS_TCB_ALIGN __alignof__ (tcbhead_t)
+# define TLS_TCB_ALIGN __alignof__ (struct pthread)
/* Install the dtv pointer. The pointer passed is to the element with
index -1 which contain the length. */