fix sysvipc structures on powerpc

these have been wrong for a long time and were never detected or
corrected. powerpc needs some gratuitous extra padding/reserved slots
in ipc_perm, big-endian ordering for the padding of time_t slots that
was intended by the kernel folks to allow a transition to 64-bit
time_t, and some minor gratuitous reordering of struct members.
This commit is contained in:
Rich Felker 2014-03-11 17:01:34 -04:00
commit ad66ae93d0
4 changed files with 16 additions and 20 deletions

View file

@ -1,16 +1,10 @@
struct semid_ds {
struct ipc_perm sem_perm;
int __unused1;
time_t sem_otime;
time_t __unused1;
int __unused2;
time_t sem_ctime;
time_t __unused2;
#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;
unsigned short __sem_nsems_pad, sem_nsems;
long __unused3;
long __unused4;
};