about summary refs log tree commit diff
path: root/arch/powerpc/bits/sem.h
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2014-03-11 17:01:34 -0400
committerRich Felker <dalias@aerifal.cx>2014-03-11 17:01:34 -0400
commitad66ae93d083ede90431bacf034f29ebd0815d73 (patch)
treef575200adf58ea9e7410d5f14515aee5719bb050 /arch/powerpc/bits/sem.h
parentf6e2f7e13f0edb1bb1d94e6ad4bf44abffd048d1 (diff)
downloadmusl-ad66ae93d083ede90431bacf034f29ebd0815d73.tar.gz
musl-ad66ae93d083ede90431bacf034f29ebd0815d73.tar.xz
musl-ad66ae93d083ede90431bacf034f29ebd0815d73.zip
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.
Diffstat (limited to 'arch/powerpc/bits/sem.h')
-rw-r--r--arch/powerpc/bits/sem.h16
1 files changed, 5 insertions, 11 deletions
diff --git a/arch/powerpc/bits/sem.h b/arch/powerpc/bits/sem.h
index c629b81e..bc2d6d1f 100644
--- a/arch/powerpc/bits/sem.h
+++ b/arch/powerpc/bits/sem.h
@@ -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;
 };