diff options
author | Rich Felker <dalias@aerifal.cx> | 2015-03-06 13:27:08 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2015-03-06 13:27:08 -0500 |
commit | bd67959f3ad5049c35af0a0e2f8f1a1e60577a49 (patch) | |
tree | e902b7ed8e160789cfc372d25dfd6cbaa0e1492c /arch/sh | |
parent | 2b42c8cb37a3ef115bd04de8637078e43cd72f37 (diff) | |
download | musl-bd67959f3ad5049c35af0a0e2f8f1a1e60577a49.tar.gz musl-bd67959f3ad5049c35af0a0e2f8f1a1e60577a49.tar.xz musl-bd67959f3ad5049c35af0a0e2f8f1a1e60577a49.zip |
fix over-alignment of TLS, insufficient builtin TLS on 64-bit archs
a conservative estimate of 4*sizeof(size_t) was used as the minimum alignment for thread-local storage, despite the only requirements being alignment suitable for struct pthread and void* (which struct pthread already contains). additional alignment required by the application or libraries is encoded in their headers and is already applied. over-alignment prevented the builtin_tls array from ever being used in dynamic-linked programs on 64-bit archs, thereby requiring allocation at startup even in programs with no TLS of their own.
Diffstat (limited to 'arch/sh')
0 files changed, 0 insertions, 0 deletions