Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[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.
  • Loading branch information
Kyle McMartin authored and Siddhesh Poyarekar committed May 26, 2014
1 parent c3ec475 commit 75f1133
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 6 deletions.
6 changes: 6 additions & 0 deletions ChangeLog
@@ -1,3 +1,9 @@
2014-05-26 Kyle McMartin <kyle@redhat.com>

[BZ #16796]
* sysdeps/aarch64/nptl/tls.h: increase TCB alignment to the
alignment of struct pthread.

2014-05-26 Siddhesh Poyarekar <siddhesh@redhat.com>

[BZ #16878]
Expand Down
8 changes: 4 additions & 4 deletions NEWS
Expand Up @@ -15,10 +15,10 @@ Version 2.20
16613, 16619, 16623, 16629, 16632, 16634, 16639, 16642, 16648, 16649,
16670, 16674, 16677, 16680, 16683, 16689, 16695, 16701, 16706, 16707,
16712, 16713, 16714, 16731, 16739, 16740, 16743, 16754, 16758, 16759,
16760, 16770, 16786, 16789, 16791, 16799, 16800, 16815, 16823, 16824,
16831, 16838, 16849, 16854, 16876, 16877, 16878, 16885, 16888, 16890,
16912, 16915, 16916, 16917, 16922, 16927, 16928, 16932, 16943, 16958,
16966, 16967, 16965, 16977, 16978.
16760, 16770, 16786, 16789, 16791, 16796, 16799, 16800, 16815, 16823,
16824, 16831, 16838, 16849, 16854, 16876, 16877, 16878, 16885, 16888,
16890, 16912, 16915, 16916, 16917, 16922, 16927, 16928, 16932, 16943,
16958, 16966, 16967, 16965, 16977, 16978.

* The minimum Linux kernel version that this version of the GNU C Library
can be used with is 2.6.32.
Expand Down
4 changes: 2 additions & 2 deletions sysdeps/aarch64/nptl/tls.h
Expand Up @@ -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)
Expand All @@ -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. */
Expand Down

0 comments on commit 75f1133

Please sign in to comment.