about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2013-09-14 14:44:03 -0400
committerRich Felker <dalias@aerifal.cx>2013-09-14 14:44:03 -0400
commit9b35ed3fefca6817d7334f15a883d068e0034011 (patch)
tree9c1049b9087a039788795d55a3280aef4f2c39b1
parent2f1de8051b4b33445ca233868e573ec838c81f65 (diff)
downloadmusl-9b35ed3fefca6817d7334f15a883d068e0034011.tar.gz
musl-9b35ed3fefca6817d7334f15a883d068e0034011.tar.xz
musl-9b35ed3fefca6817d7334f15a883d068e0034011.zip
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.
-rw-r--r--arch/mips/bits/msg.h9
-rw-r--r--arch/mips/bits/shm.h3
2 files changed, 9 insertions, 3 deletions
diff --git a/arch/mips/bits/msg.h b/arch/mips/bits/msg.h
index 3db8576b..bfe2b3a7 100644
--- a/arch/mips/bits/msg.h
+++ b/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;
diff --git a/arch/mips/bits/shm.h b/arch/mips/bits/shm.h
index 8807c4fb..abf1d506 100644
--- a/arch/mips/bits/shm.h
+++ b/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;