about summary refs log tree commit diff
path: root/include/endian.h
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2015-03-12 14:43:36 -0400
committerRich Felker <dalias@aerifal.cx>2015-03-12 14:43:36 -0400
commit673cab5c56f6b6a8afb01c4b5341963ff259e996 (patch)
tree57c3de54cb6887e4290af8de8dfd781e1e75121f /include/endian.h
parent01ef3dd9c5fa7a56aa370f244dd08e05c73010f5 (diff)
downloadmusl-673cab5c56f6b6a8afb01c4b5341963ff259e996.tar.gz
musl-673cab5c56f6b6a8afb01c4b5341963ff259e996.tar.xz
musl-673cab5c56f6b6a8afb01c4b5341963ff259e996.zip
align x32 pthread type sizes to be common with 32-bit archs
previously, commit e7b9887e8b65253087ab0b209dc8dd85c9f09614 aligned
the sizes with the glibc ABI. subsequent discussion during the merge
of the aarch64 port reached a conclusion that we should reject larger
arch-specific sizes, which have significant cost and no benefit, and
stick with the existing common 32-bit sizes for all 32-bit/ILP32 archs
and the x86_64 sizes for 64-bit archs.

one peculiarity of this change is that x32 pthread_attr_t is now
larger in musl than in the glibc x32 ABI, making it unsafe to call
pthread_attr_init from x32 code that was compiled against glibc. with
all the ABI issues of x32, it's not clear that ABI compatibility will
ever work, but if it's needed, pthread_attr_init and related functions
could be modified not to write to the last slot of the object.

this is not a regression versus previous releases, since on previous
releases the x32 pthread type sizes were all severely oversized
already (due to incorrectly using the x86_64 LP64 definitions).
moreover, x32 is still considered experimental and not ABI-stable.
Diffstat (limited to 'include/endian.h')
0 files changed, 0 insertions, 0 deletions