Przeglądaj źródła

fix mips sysv ipc bits headers

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.
Rich Felker 11 lat temu
rodzic
commit
9b35ed3fef
2 zmienionych plików z 9 dodań i 3 usunięć
  1. 9 0
      arch/mips/bits/msg.h
  2. 0 3
      arch/mips/bits/shm.h

+ 9 - 0
arch/mips/bits/msg.h

@@ -1,12 +1,21 @@
 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;

+ 0 - 3
arch/mips/bits/shm.h

@@ -5,11 +5,8 @@ struct shmid_ds
 	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;