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.
This commit is contained in:
Rich Felker 2015-04-01 19:12:18 -04:00
parent b24d813d24
commit dfc1a37c44
1 changed files with 7 additions and 1 deletions

View File

@ -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;
};