From: Rich Felker Date: Wed, 1 Apr 2015 23:12:18 +0000 (-0400) Subject: aarch64: fix definition of sem_nsems in semid_ds structure X-Git-Tag: v1.1.9~96 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=dfc1a37c441fe271dfb19c7de62acadc73e255aa;p=oweals%2Fmusl.git aarch64: fix definition of sem_nsems in semid_ds structure POSIX requires the sem_nsems member to have type unsigned short. we have to work around the incorrect kernel type using matching endian-specific padding. --- diff --git a/arch/aarch64/bits/sem.h b/arch/aarch64/bits/sem.h index 6ac93365..e46ced95 100644 --- a/arch/aarch64/bits/sem.h +++ b/arch/aarch64/bits/sem.h @@ -2,7 +2,13 @@ struct semid_ds { struct ipc_perm sem_perm; time_t sem_otime; time_t sem_ctime; - time_t sem_nsems; +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned short sem_nsems; + char __sem_nsems_pad[sizeof(time_t)-sizeof(short)]; +#else + char __sem_nsems_pad[sizeof(time_t)-sizeof(short)]; + unsigned short sem_nsems; +#endif time_t __unused3; time_t __unused4; };