msg.h was wrong for big-endian (wrong endiannness padding).
shm.h was just plain wrong (mips is not supposed to have padding).
both changes were tested using libc-test on qemu-system-mips.
struct msqid_ds
{
struct ipc_perm msg_perm;
+#if _MIPSEL || __MIPSEL || __MIPSEL__
time_t msg_stime;
int __unused1;
time_t msg_rtime;
int __unused2;
time_t msg_ctime;
int __unused3;
+#else
+ int __unused1;
+ time_t msg_stime;
+ int __unused2;
+ time_t msg_rtime;
+ int __unused3;
+ time_t msg_ctime;
+#endif
unsigned long msg_cbytes;
msgqnum_t msg_qnum;
msglen_t msg_qbytes;
struct ipc_perm shm_perm;
size_t shm_segsz;
time_t shm_atime;
- int __unused1;
time_t shm_dtime;
- int __unused2;
time_t shm_ctime;
- int __unused3;
pid_t shm_cpid;
pid_t shm_lpid;
unsigned long shm_nattch;