diff options
author | Rich Felker <dalias@aerifal.cx> | 2015-04-01 19:12:18 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2015-04-01 19:12:18 -0400 |
commit | dfc1a37c441fe271dfb19c7de62acadc73e255aa (patch) | |
tree | 24bfce148936dbb771fcdf41690fcecb9667cb1d /arch/aarch64 | |
parent | b24d813d24c412a2e78bab8ef224a1d4c7c25de8 (diff) | |
download | musl-dfc1a37c441fe271dfb19c7de62acadc73e255aa.tar.gz musl-dfc1a37c441fe271dfb19c7de62acadc73e255aa.tar.bz2 musl-dfc1a37c441fe271dfb19c7de62acadc73e255aa.tar.xz musl-dfc1a37c441fe271dfb19c7de62acadc73e255aa.zip |
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.
Diffstat (limited to 'arch/aarch64')
-rw-r--r-- | arch/aarch64/bits/sem.h | 8 |
1 files changed, 7 insertions, 1 deletions
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; }; |