musl/arch/x32/bits
Rich Felker 673cab5c56 align x32 pthread type sizes to be common with 32-bit archs
previously, commit e7b9887e8b 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.
2015-03-12 14:43:36 -04:00
..
alltypes.h.in align x32 pthread type sizes to be common with 32-bit archs 2015-03-12 14:43:36 -04:00
endian.h import vanilla x86_64 code as x32 2014-02-23 11:07:18 +01:00
errno.h import vanilla x86_64 code as x32 2014-02-23 11:07:18 +01:00
fcntl.h import vanilla x86_64 code as x32 2014-02-23 11:07:18 +01:00
fenv.h import vanilla x86_64 code as x32 2014-02-23 11:07:18 +01:00
float.h fix FLT_ROUNDS to reflect the current rounding mode 2015-03-07 12:05:28 -05:00
io.h import vanilla x86_64 code as x32 2014-02-23 11:07:18 +01:00
ioctl.h import vanilla x86_64 code as x32 2014-02-23 11:07:18 +01:00
ipc.h x32 port (diff against vanilla x86_64) 2014-02-23 11:09:16 +01:00
limits.h x32 port (diff against vanilla x86_64) 2014-02-23 11:09:16 +01:00
mman.h move MREMAP_MAYMOVE and MREMAP_FIXED out of bits 2015-01-30 22:02:23 -05:00
msg.h x32 port (diff against vanilla x86_64) 2014-02-23 11:09:16 +01:00
poll.h fix POLLWRNORM and POLLWRBAND on mips 2015-03-04 12:09:37 -05:00
posix.h import vanilla x86_64 code as x32 2014-02-23 11:07:18 +01:00
reg.h x32 port (diff against vanilla x86_64) 2014-02-23 11:09:16 +01:00
resource.h fix RLIMIT_ constants for mips 2014-04-15 19:17:52 -04:00
sem.h move struct semid_ds to from shared sys/sem.h to bits 2014-03-11 15:27:13 -04:00
setjmp.h x32 port (diff against vanilla x86_64) 2014-02-23 11:09:16 +01:00
shm.h x32 port (diff against vanilla x86_64) 2014-02-23 11:09:16 +01:00
signal.h fix signal.h breakage from moving stack_t to arch-specific bits 2014-03-18 23:27:45 -04:00
socket.h import vanilla x86_64 code as x32 2014-02-23 11:07:18 +01:00
stat.h x32 port (diff against vanilla x86_64) 2014-02-23 11:09:16 +01:00
statfs.h x32: fix struct statfs 2014-03-17 22:34:55 +01:00
stdarg.h import vanilla x86_64 code as x32 2014-02-23 11:07:18 +01:00
stdint.h x32 port (diff against vanilla x86_64) 2014-02-23 11:09:16 +01:00
syscall.h add syscall numbers for the new execveat syscall 2015-02-09 23:00:56 +01:00
termios.h import vanilla x86_64 code as x32 2014-02-23 11:07:18 +01:00
user.h fix typo in x86_64/x32 user_fpregs_struct 2015-02-01 13:49:15 -05:00